zoukankan      html  css  js  c++  java
  • Silverlight 客户端本地消息通讯

    在Silverlight 3 中添加了客户端不同应用程序之间的通信机制,当一台电脑上同时运行多个Silverlight 应用程序的时候,本地消息通讯可以在不同的Silverlight之间创建一个消息通道,有点像是一个Socket链接,一方在监听,一方发送。

    发送端

    public partial class LM_Sender : UserControl
        {
            //定¨义?本?地?消?息¢发¢送í对?象ó,?这a个?最?关?键ü,?接ó收?方?和í发¢送í方?的?实μ例y名?必?须?一?样ù才?行D,?好?比èMQ的?通¨道à一?样ù
            private LocalMessageSender msgSender = new LocalMessageSender("terryfeng");
            public LM_Sender()
            {
                InitializeComponent();
                this.Loaded += new RoutedEventHandler(LM_Sender_Loaded);
            }
    
            void LM_Sender_Loaded(object sender, RoutedEventArgs e)
            {
                //提á前°加ó载?,?创′建¨消?息¢发¢送í完ê成é的?事?件t处|理í
                msgSender.SendCompleted +=
                    new EventHandler<SendCompletedEventArgs>(msgSender_SendCompleted);
            }
    
            private void btnSent_Click(object sender, RoutedEventArgs e)
            {
                //发¢送í消?息¢
                msgSender.SendAsync(tbInput.Text);
            }
    
            void msgSender_SendCompleted(object sender, SendCompletedEventArgs e)
            {
                //显?示?回?复′的?消?息¢
                MessageBox.Show(e.Response);
            }
        }

    接收端

    public partial class LM_Rec : UserControl
     {
         public LM_Rec()
         {
             InitializeComponent();
             this.Loaded += new RoutedEventHandler(LM_Rec_Loaded);
         }
    
         void LM_Rec_Loaded(object sender, RoutedEventArgs e)
         {
             //创′建¨接ó收?消?息¢对?象ó
             LocalMessageReceiver msgRec = new LocalMessageReceiver("terryfeng");
             //创′建¨接ó收?消?息¢的?事?件t处|理í
             msgRec.MessageReceived +=
                 new EventHandler<MessageReceivedEventArgs>(msgRec_MessageReceived);
             //开a始?侦ì听y
             msgRec.Listen();
         }
    
         void msgRec_MessageReceived(object sender, MessageReceivedEventArgs e)
         {
             //显?示?收?到?的?消?息¢
             tbkRec.Text = e.Message;
             //反′馈?消?息¢给?发¢送í者?
             e.Response = "我ò收?到?消?息¢了?,?谢?谢?!?";
         }
     }
    冯瑞涛
  • 相关阅读:
    怎样通过iPhone Safari 来安装测试版ipa
    UINavigationController检测后退按钮被按下
    Android系统在超级终端下必会的命令大全(adb shell命令大全)
    so 加载符号找不到的问题解决
    Ubuntu Android 开发jdk1.5和1.6之间的切换
    UIView animation
    HTC G11 获取Root权限图文教程
    Android.mk文件语法规范
    Android NDK 下的宽字符编码转换及icu库的使用
    [转载].NET制作安装卸载程序 Virus
  • 原文地址:https://www.cnblogs.com/finehappy/p/1668899.html
Copyright © 2011-2022 走看看