2011-08-03 45 views
2

我只需要知道如何將消息從服​​務器發送到客戶端,如果通信可以是雙向的,那將是完美的,但這不是必需的。如何在2個Visual C#應用程序之間進行TCP-IP通信?

+1

[Search about C#client server tutorials](http://www.google.com/#hl=zh-CN&sa=X&ei=l7A5TqiCE8PBswbzvbn-Dw&sqi=2&ved=0CBcQvwUoAQ&q=C%23+client+server+tutorials&spell=1&bav=on .2,or.r_gc.r_pw。&fp = 5ebc4d519a3bd440&biw = 1024&bih = 677) –

回答

0

對於VS 2005/.NET 2.0嘗試.NET Remoting

編輯

除非你享受練習,我會建議對插座。 .NET Remoting允許TCP,UDP,IPC通信,並且您的代碼看起來像是在調用對象的方法/屬性。此外,任何可串行化的數據結構都可以通過線路傳遞,從而使您可以使用豐富的數據表示形式,而不是在套接字級別打包/解析字節流。

0

考慮通過tcp/ip使用.net遠程處理。這使得雙向通信變得輕而易舉。一方需要TcpServerChannel,另一方需要TcpClientChannel。服務器端將有一個擴展MarshalByRefObject的對象。

public class MyServerClass : MarshalByRefObject 
{ 
    public override void InitializeLifetimeService() 
    { 
     return null; 
    } 

    public string SendAndRecieve (string message) 
    { 
     return message + message; 
    } 
} 
+0

遠程處理被認爲是「遺留」技術。目前的替代品是WCF,它更易於使用,性能更高,並符合行業標準,如HTTP和SOAP。 – Mark

+2

是的,但是,他說他使用的是VS 2005,我也在猜測.NET 2.0,所以從某種意義上說,開發一個傳統的應用程序 –

0

另一個例子很多方法是使用System.Messaging nam通過MSMQ保留和交換消息。不確定你的要求,所以這可能不是最好的方法,但它是另一種快速在2個.Net流程之間傳遞消息的方法。

相關問題