2010-07-24 96 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