1

大多数在线示例都是多线程 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 超时/断开连接/等并重新建立与 IP 的连接

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

任何见解将不胜感激

4

1 回答 1

2

有几个现有的组件可以用来实现你想要的。结帐http://www.networkcomms.nethttp://code.google.com/p/lidgren-network-gen3/

话虽如此,人们总是喜欢补充一点,没有什么能阻止你按照你给出的例子从头开始编写所有东西。

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

于 2013-06-10T13:38:41.697 回答