2009-06-24 154 views
1

我会尽力解释我想要达到的目标。C#客户端到客户端消息传递

想象两个用户正在使用的窗口的形式应用中,当用户A打开的锁被施加到数据记录的形式底层,使得只有该用户可以在该时间的变化的具体形式。

用户B有一列所有记录(网格中),其中包含对用户A已经打开的记录的引用。我们想要做的是当用户A打开记录时用户B的记录列表是更新为显示该行旁边的锁定图标以指示该记录正在使用中。

这是我们用短信做一个简单的例子,但你的想法,用户A做了用户B需要知道它。

我已经使用Jabber网为C#和Openfire的Jabber服务器实现的系统。基本上,当要发送消息时,会将新行插入到数据库中的消息表中。消息表由服务客户端使用SqlDependancy对象监视,以便当新消息准备就绪时,服务将生成相关消息并通过Jabber和OpenFire服务器将其发送到所需的客户端。

该工程确定,但是的Openfire的开箱即用的功能是支持这显然不是我想要实现即时消息。我遇到的问题是,如果用户登录到两个应用程序上下文(即测试和实时),则OpenFire不知道向消息发送哪个消息,因为user @ server/resource的JID结构不会注意到该资源。

基本上我目前使用的Openfire和Jabber网的方式是不完全正确。

是否有一个模式,我可以使用实现我想要实现,即消息发送到客户端告诉它做一些什么,同时能够指定要发送的消息太多的客户端。 XMPP看起来像是答案,因为我可以构建自己的消息类型进行解析。

我的应用程序是一个Windows Forms,.NET 3.5 C#应用程序。

+0

就个人而言,这听起来像是一个很好的选择和消耗性的选择。 – kenny 2009-06-25 11:09:26

回答

0

我只是添加一些更多的数据来表明其应用程序上下文受到影响,并有其他客户决定是否他们需要处理的邮件或没有。

+0

是的,我已经想过这样做了,它只是觉得有点欺骗。我最终可能会这样做,我只是想看看还有其他的选择。 – MrEdmundo 2009-06-24 11:51:00

相关问题