当前位置: 技术问答>linux和unix
关于tcp中客户端和服务端通信模式的请教
来源: 互联网 发布时间:2016-04-27
本文导语: 我想让一台电脑主机同时向多个节点传输文件,节点是通过无线连接到路由器上,和主机是一个局域网,现在的想法是让各个接点单独监听,先listen,accept,再recv数据,收到主机发送的文件后再回复一个确认信息,...
我想让一台电脑主机同时向多个节点传输文件,节点是通过无线连接到路由器上,和主机是一个局域网,现在的想法是让各个接点单独监听,先listen,accept,再recv数据,收到主机发送的文件后再回复一个确认信息,也就是让接点做成server模式,等待连接(因为我要接点的程序一直在运行,有文件过来就接收),把主机做成client模式,让他主动去connect各个节点
现在我能让主机用client模式调connect函数和多个接点同时建立连接,传说文件数据吗?
以前做的都是在server里用多线程,或者子进程,或者I/O多路复用,那么在client里可不可以实现连接多个server?
希望大家提供些资料或者建议,谢谢!
现在我能让主机用client模式调connect函数和多个接点同时建立连接,传说文件数据吗?
以前做的都是在server里用多线程,或者子进程,或者I/O多路复用,那么在client里可不可以实现连接多个server?
希望大家提供些资料或者建议,谢谢!
|
广播,多播,点对点多连接都可以!
既然每个节点都是独立设备,那么在每个节点上运行一个server,server的端口可以是一样的。client的端口你可以让pc自己去随机分配!
good luck!
既然每个节点都是独立设备,那么在每个节点上运行一个server,server的端口可以是一样的。client的端口你可以让pc自己去随机分配!
good luck!
|
组播在UDP里面用的比较多。
你的情况最好是采用多个连接来传输数据,简单、可靠。
你的情况最好是采用多个连接来传输数据,简单、可靠。
|
client端當然可以實現多個連接,廣播的話應該是用UDP,沒有回覆確認
除非單獨寫響應回覆
建議用多個連接,畢竟TCP穩定,丟包概率小很多
除非單獨寫響應回覆
建議用多個連接,畢竟TCP穩定,丟包概率小很多
|
为什么不可以呢,你同时打开2个网页不就是对两个网站的服务器访问吗
|
当然可以每个socket对应一个server,广播模式也许更好。
|
如果你的路由器支持的话,可以考虑使用多播(multicast)