Socket向多个服务端发送消息
最近开始学Socket编程,建立Socket时使用的是TCP协议,然后从客户端向服务端发消息时,只有一个服务端接收到了消息,我想请问一下,有什么办法能够让几十个服务端同时接收到客户端的消息呢?
[解决办法]
开线程,一个线程负责一个连接一个服务端发送吧!
[解决办法]
应该只有这样:一个一个去发送。TCP是基于IP和端口连接的,不能像UDP那样广播。
[解决办法]
多线程,当有用户连接到服务器时,就开一个线程,进行通信
[解决办法]
用多线程!客户端想每个服务器发消息!
[解决办法]
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
http://topic.csdn.net/u/20120210/09/51109ed0-07b9-41f2-b487-a51597f2ca01.html
同时运行几十个客户端即可。
参考《Unix编程艺术》
[解决办法]
方法一:开一个socket线程,循环连接每一个Server去发送
方法二:同时打开多个socket线程,同时连接每一个Server的ip、端口
[解决办法]
因为是的客户端是指定服务端去发送 消息的,所以只有一个一个的发送了
当然,你也可以做成广播模式,向某一个网段所有的设备设备去发送消息
这个可以有哦,只要对面服务端接收你广播的消息还是可以行的!
[解决办法]
我认为 就是开多线程,每个线程对应一个服务器端。。我之前做过MODBUS/TCP协议,一个工业控制协议。。采集多个RTU(可以理解服务器)数据,,就是每个线程对应一个RTU,,实际应用,挺好的。
[解决办法]
多路复用, windows IOCP, linux epoll.