在线上的大多数示例都是多线程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));
但是我想知道是否有任何组件可以满足以下要求
如果没有这些组件,那么有什么技巧可以帮助我做到这一点?例如,每个线程1个连接,或者如果在多个数据包中接收到数据,该如何处理?
任何见解将不胜感激
最佳答案
您可以使用几种现有组件来实现所需的功能。 checkout http://www.networkcomms.net和http://code.google.com/p/lidgren-network-gen3/。
话虽这么说,人们总是喜欢补充一点,没有什么可以阻止您按照所举的例子从头开始编写所有内容。
免责声明:我是NetworkComms.Net的开发人员。
关于c# - 通过TCP连接到多个客户端的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17024188/