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 = "我ò收?到?消?息¢了?,?谢?谢?!?";
         }
     }
    冯瑞涛
  • 相关阅读:
    BZOJ1568:[JSOI2008]Blue Mary开公司
    HDU4348:To the moon
    洛谷【P3437】[POI2006]TET-Tetris 3D
    AtCoder Regular Contest 072 E:Alice in linear land
    AtCoder Grand Contest 014 D:Black and White Tree
    洛谷【P2664】树上游戏
    浅谈树分治
    BZOJ3784:树上的路径
    BZOJ2006:[NOI2010]超级钢琴
    BZOJ3648:寝室管理
  • 原文地址:https://www.cnblogs.com/finehappy/p/1668899.html
Copyright © 2011-2022 走看看