一种服务,它将tcp连接到多个客户端

时间:2013-06-10 12:44:36

标签: c# .net sockets tcplistener tcpserver

大多数在线示例都是多线程tcp服务器的示例,服务器监听来自客户端的多个传入连接。

我正在寻找的是“服务器”,以启动连接。如果我有100台设备(当然所有IP地址都不同),我的服务器必须与每台设备建立100个连接,并从设备接收数据。

这是我连接设备的方式

_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_socket.SetSocketOption(SocketOptionLevel.Tcp, SocketOptionName.NoDelay, true);
_socket.SendTimeout = 2000;
_socket.ReceiveTimeout = 2000;
_socket.Connect(new IPEndPoint(IPAddress, TCPPort));

但我想知道是否有任何组件,这将满足以下

  • 建立与设备一样多的tcp连接
  • 收到&通过连接发送数据
  • 处理tcp超时/断开连接/ etc&重新建立与IP的连接

如果没有任何这样的组件,是否有任何关于我应该怎么做的提示?例如,每个线程1个连接,或者如果在多个数据包中接收数据等,我该如何处理?

非常感谢任何见解

1 个答案:

答案 0 :(得分:2)

您可以使用几种现有组件来实现您的目标。结帐http://www.networkcomms.nethttp://code.google.com/p/lidgren-network-gen3/

说过人们总是喜欢补充一点,根据你给出的例子,没有什么可以阻止你自己从头开始写一切。

免责声明:我是NetworkComms.Net的开发人员。