社区
C语言
帖子详情
c/c++ socket tcp如何实现广播/多播?
tzg_dzq
2011-09-14 10:18:39
如何才能高效地实现一台服务器同时向多台客户端发送数据?
广播/多播有这种功能,不知如何实现?
高手请指点。
...全文
1899
20
打赏
收藏
c/c++ socket tcp如何实现广播/多播?
如何才能高效地实现一台服务器同时向多台客户端发送数据? 广播/多播有这种功能,不知如何实现? 高手请指点。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
feitianxiaozi
2014-05-21
打赏
举报
回复
能不能整点实用 的。感觉木有爱了。
这是一个账号007
2013-12-23
打赏
举报
回复
貌似大神很多。可惜作为初学者还是没懂。
wjb_yd
2011-09-19
打赏
举报
回复
tcp是一对一面向连接的,单个套接字没法多播/广播的。
xengine-qyt
2011-09-18
打赏
举报
回复
组播有组播地址。需要加入和离开,socket 提供单独的选项支持!! 可以查查资料。。
for 发送是串行的。效率太低咯!
[Quote=引用 16 楼 tzg_dzq 的回复:]
谢谢各位的提示。
应该用组播。
可组播要些什么条件?
[/Quote]
tzg_dzq
2011-09-16
打赏
举报
回复
谢谢各位的提示。
应该用组播。
可组播要些什么条件?
xengine-qyt
2011-09-14
打赏
举报
回复
广播和多播地址你可以去看看百度。
很简单的,不过没法适用于广域网 需要特殊处理!
ccjsj1
2011-09-14
打赏
举报
回复
围观,我也在为这个问题困扰呢。
hancker
2011-09-14
打赏
举报
回复
广播/多播的话,估计得走UDP吧?
dfasri
2011-09-14
打赏
举报
回复
别发梦了, 不可能.
hanyuwei0
2011-09-14
打赏
举报
回复
多播和广播只能用于UDP
qq120848369
2011-09-14
打赏
举报
回复
多播是广域网上可以用的。。
孤舟
2011-09-14
打赏
举报
回复
首先 用广播是绝对不会高效的 尤其对于网络负荷来说 而且广域网你是无法广播的
第2 多播需要特殊的IP地址 对于广域网来说 需要你的客户机都注册过你的多播地址你才能发送到
第3 TCP 是点对点传输 和广播 多播8杆子打不着
lileicool
2011-09-14
打赏
举报
回复
[Quote=引用 10 楼 tzg_dzq 的回复:]
问题:如果要用TCP,保存客户端socket,一个for(),挨个发。
提问:若我要发送一个上G的文件时,这种方法是不是太慢了!
我要的效果是:
当与多个客户端进行数据传输时,如何才能使服务器负担轻并且高效。
我的想法框架是:
一个网络分为多个网段,有一台主服务器,
每个网段有一台代理服务器(如何选择要合适点?选择第一台连接到主服务器上的机器作为代理服务器?),
其他机……
[/Quote]
你这是BT吧?
tzg_dzq
2011-09-14
打赏
举报
回复
问题:如果要用TCP,保存客户端socket,一个for(),挨个发。
提问:若我要发送一个上G的文件时,这种方法是不是太慢了!
我要的效果是:
当与多个客户端进行数据传输时,如何才能使服务器负担轻并且高效。
我的想法框架是:
一个网络分为多个网段,有一台主服务器,
每个网段有一台代理服务器(如何选择要合适点?选择第一台连接到主服务器上的机器作为代理服务器?),
其他机器都属于一个特定的网段。
当其他机器需要数据时先把信息发送至主服务器,主服务器检查他所在的网段是否有代理服务器,
若存在并且有他想要的数据,则直接从代理服务器上取数据,
若代理服务器上没有需要的数据时才从主服务器上取数据。
若他所在的网段无代理服务器,则设置他自己为代理服务器,并把数据传输给他,
以后若在他所在的网段中有其他机器要数据时就从他哪里取数据。
这是我大概的想法,不知各位有更好的建议吗?
交流交流!
zhd320
2011-09-14
打赏
举报
回复
UDP 貌似socket有设置,加个某个参数就表示广播
pathuang68
2011-09-14
打赏
举报
回复
[Quote=引用 4 楼 anwjiango 的回复:]
一台服务器同时向多台客户端发送数据 和 多播/广播 不是一回事。
服务器向多台客户端发送数据 是 遍历所有的连接的socket发送。
而多播/广播 是UDP协议里的。 像飞鸽传书就是用的UDP的广播。
[/Quote]
++
一台服务器同时向多台客户端发送数据 和 多播/广播 不是一回事。
这句话很重要,详细的情况,在论坛里面说不清楚,自己到网上搜一下,很多这方面的内容。
冻结
2011-09-14
打赏
举报
回复
《unix 网络编程》
是UDP。
如果要用TCP,保存客户端socket,一个for(),挨个发。
悍匪笑哈哈
2011-09-14
打赏
举报
回复
楼上正解
luciferisnotsatan
2011-09-14
打赏
举报
回复
google下
AnwJiango
2011-09-14
打赏
举报
回复
一台服务器同时向多台客户端发送数据 和 多播/广播 不是一回事。
服务器向多台客户端发送数据 是 遍历所有的连接的socket发送。
而多播/广播 是UDP协议里的。 像飞鸽传书就是用的UDP的广播。
C++
基于
socket
的多线程聊天程序
Windows下基于
socket
的多线程群聊程序,环境是VC6.0。
基于
TCP
/IP
socket
的局域网聊天系统
1.本程序主要为了
实现
局域网的内互联主机的通信; 2.使用MFC编程,界面友好。 3.基于Windows
socket
编程; 4.带文档,流程图,易于理解;
TCP
/IP
Socket
测试sample
利用
TCP
/IP开发的一个聊天程序,可用来作为学习
Socket
开发参考。
TCP
/UDP
Socket
调试工具,基于Qt &
C++
开发
TCP
/UDP
Socket
调试工具,基于Qt &
C++
开发。支持
TCP
客户端。支持 UDP 单播。支持 UDP 组播。支持 UDP
广播
C++
OpenCv利用
Socket
通讯类传输图片或者视频
[
C++
][OpenCv]利用
Socket
通讯类传输图片或者视频,全部源文件,可以直接运行debug模式
C语言
70,020
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章