2010-07-24 95 views
0

我有一个服务器进程绑定到一个端口,它以基本上随机的间隔接收网络数据包。当收到一个数据包时,它将被解析并创建一个代表这个数据包数据的对象。我希望能够将该数据对象'推送'到运行在同一台计算机上的任意数字,即客户端进程0..n。客户端将永远在本地主机上。.Net中的多个客户端IPC

客户端进程只关注服务器启动后创建和推送的数据对象。这也是一个单向的信息流。客户端不需要与服务器通信,他们只需要从服务器接收任何新的数据对象。

服务器和客户端进程都使用.Net框架在C#中编写。

鉴于此设置,您将使用什么IPC方法来使其工作?我目前的计划是序列化数据对象并将其写入客户端读取的命名管道。这是要走的路吗?另外值得注意的是速度不是关键因素。

回答

1

我解决了这个使用WCF回调。客户'订阅'到服务器,然后服务器迭代订阅的回调并用要推送的数据调用它们。当客户进程结束时,它会发出取消订阅。

在网上有很多这样的例子很容易遵循。对于任何有兴趣的人,这些链接可能会有帮助

http://msdn.microsoft.com/en-us/magazine/cc163537.aspx

http://dotnetaddict.dotnetdevelopersjournal.com/wcf_alarmclock.htm的链接

http://idunno.org/archive/2008/05/29/wcf-callbacks-a-beginners-guide.aspx

+0

没有正常工作。 – Seralize 2015-07-01 17:23:41