我正在嘗試在C#中使用.Net Remoting編寫一個小型聊天服務器。 從客戶端到服務器的連接工作得很好,但只要我嘗試向所有其他客戶端(甚至是同一客戶端)「廣播」發送的消息,服務器就會引發異常。.Net Remoting:從服務器調用客戶端上的方法
「Der Remoteproxy hat keine Channelsenke,d。h。,der Server besitzt keine registrierten Serverchannel or die Anwendung hat keinen passenden Clientchannel,and mit dem Server zu kommunizieren。」
什麼轉化爲
「這個遠程代理不具有信道接收器,這意味着在服務器具有被監聽沒有註冊的服務器信道,或該應用程序沒有合適的客戶端的信道進行通話的服務器」。
我會如何改變這種情況?
這裏(https://www.dropbox.com/s/y40cdv3lopsf6d7/Chatprojekt.zip)你可以找到整個項目的副本,但爲了幫助其他有同樣問題的人,我會解釋我做了什麼。
在服務器上,我在特定的端口上打開了一個TcpChannel,爲服務器和客戶端都創建了一個接口。我連接到服務器和方法,我將客戶端實例傳遞給服務器。 接口的兩個實現都實現MarshalByRefObj以使用代理來進行方法調用。
由於已經有很多幫助我
爲什麼使用Remoting?它已經過時和報廢。 – 2013-04-24 16:16:40
你還會建議什麼? Servicestack? WCF?我認爲這是一個很好的練習 – 2013-04-24 16:23:51
WCF或者WebAPI – 2013-04-24 16:27:16