在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 = "我ò收?到?消?息¢了?,?谢?谢?!?";
}
}
分享到:
相关推荐
而Silverlight客户端则是一种浏览器插件技术,它使得聊天系统可以跨平台运行,不仅限于Windows,还可以在支持Silverlight的其他操作系统上使用,如Mac OS。Silverlight提供了丰富的图形和多媒体功能,使得聊天界面更...
然而,通过WCF,我们可以打破这一限制,使Silverlight客户端能够调用服务器端的服务,实现远程数据访问和业务逻辑处理。 首先,为了在Silverlight中引用WCF服务,我们需要在服务器端创建一个WCF服务。这涉及到定义...
SilverlightQQ是一个基于微软的Silverlight技术开发的即时通讯应用程序,它展示了Silverlight在构建富互联网应用(RIA)方面的潜力。Silverlight,作为.NET Framework的一部分,允许开发者创建具有丰富的用户体验、...
增强了网络支持功能,如跨域访问、Web 客户端上传和双向通讯等;此外,还丰富了基类库,支持 collections、IO、generics、threading 等等,进一步提高了开发效率和用户体验。 - **Silverlight 2.0 正式版**(2008年...
通过WebSocket,开发者可以实现即时通讯、实时数据更新等功能,极大地提升了Web应用的交互性和响应速度。 - **优势**:与传统的HTTP请求相比,WebSocket减少了延迟,提高了数据传输效率,使得Web应用更加流畅。 ##...
LocalStorage 本地永久性存储数据,除非显式将其删除或清空 SessionStorage 存储的数据只在会话期间有效,关闭浏览器则自动删除 Sqlite 一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C...