如何在两个Visual c#应用程序之间进行TCP-IP通信?
本文关键字:之间 应用程序 TCP-IP 通信 Visual 两个 | 更新日期: 2023-09-27 18:04:30
我只需要知道如何从服务器发送消息到客户端,如果通信可以是双向的,那将是完美的,但这是不必要的。
一种简单的方法是使用套接字来完成此任务。一个很好的参考是:
http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx它几乎没有开销,并且可以比Remoting或其他类型的通信配置简单得多。
考虑通过tcp/ip使用。net远程。这使得双向交流变得轻而易举。一边需要TcpServerChannel,另一边需要TcpClientChannel。服务器端将有一个扩展MarshalByRefObject的对象。
public class MyServerClass : MarshalByRefObject
{
public override void InitializeLifetimeService ()
{
return null;
}
public string SendAndRecieve (string message)
{
return message + message;
}
}
- WCF netttcpbinding from .net 3.5 .net Remouting for .net 2
- TcpListener
- 套接字
试着谷歌一下例子,有很多这样的例子
另一种方法是使用System。消息传递名称空间和通过MSMQ交换消息。不确定您的需求,所以这可能不是最好的方法,但它是另一种在2 . net进程之间快速获取消息的方法。
. NET 2.0尝试。NET Remoting
编辑
除非你喜欢练习,否则我建议不要使用。net Remoting允许TCP, UDP, IPC通信,对你的代码来说,它看起来就像你在调用对象的方法/属性。此外,任何可序列化的数据结构都可以通过网络传递,这使您可以使用丰富的数据表示,而不是在套接字级别打包/解析字节流。