如何在2个Visual C#应用程序之间进行TCP-IP通信?

问题描述 投票:2回答:5

我只需要知道如何将消息从服​​务器发送到客户端,如果通信可以是双向的,那将是完美的,但这不是必需的。

c# visual-studio-2005 tcp
5个回答
0
投票

对于VS 2005 / .NET 2.0,请尝试.NET Remoting

编辑

除非您喜欢这项运动,否则我建议您不要使用插座。 .NET Remoting允许TCP,UDP,IPC通信,并且对于您的代码,就像您在调用对象的方法/属性一样。 同样,任何可序列化的数据结构都可以通过电线传递,这使您可以使用丰富的数据表示形式,而不是在套接字级别打包/解析字节流。


0
投票

一种简单的方法是使用套接字来完成此任务。 一个很好的参考是:

http://msdn.microsoft.com/en-us/library/system.net.sockets.socket.aspx

它的开销很小,并且可以比Remoting或其他类型的通信简单得多地进行配置。


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
投票
  1. 来自.net 3.5 .Net的 WCF nettcpbinding为.net 2 改写
  2. TcpListener
  3. 插座

尝试以谷歌为例,有很多这样的例子


0
投票

另一种方法是使用System.Messaging命名空间并通过MSMQ交换消息。 不确定您的要求,所以这可能不是最好的方法,但这是在2个.Net进程之间快速获取消息的另一种方法。

© www.soinside.com 2019 - 2024. All rights reserved.