大多数在线示例都是多线程 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 个连接,或者如果数据是在多个数据包中接收的,我该如何处理等?
任何见解将不胜感激