社区
C语言
帖子详情
c/c++ socket tcp如何实现广播/多播?
tzg_dzq
2011-09-14 10:18:39
如何才能高效地实现一台服务器同时向多台客户端发送数据?
广播/多播有这种功能,不知如何实现?
高手请指点。
...全文
1908
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的文件时,这种方法是不是太慢了!
我要的效果是:
当与多个客户端进行数据传输时,如何才能使服务器负担轻并且高效。
我的想法框架是:
一个网络分为多个网段,有一台主服务器,
每个网段有一台代理服务器(如何选择要合适点?选择第一台连接到主服务器上的机器作为代理服务器?),
其他机器都属于一个特定的网段。
当其他机器需要数据时先把信息发送至主服务器,主服务器检查他所在的网段是否有代理服务器,
若存在并且有他想要的数据,则直接从代理服务器上取数据,
若代理服务器上没有需要的数据时才从主服务器上取数据。
若他所在的网段无代理服务器,则设置他自己为代理服务器,并把数据传输给他,
以后若在他所在的网段中有其他机器要数据时就从他哪里取数据。
这是我大概的想法,不知各位有更好的建议吗?
交流交流!
UnTit1E
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.带文档,流程图,易于理解;
C/
C++
发送UDP数据与接收UDP数据完整代码(支持指定网卡)
环境为linux系统,包含UDP单播与组播发送数据及接收数据的完整代码,支持指定发送与接收的网卡,并分别将发送与接收封装成独立的类,导入即可用!
TCP
/IP
Socket
测试sample
利用
TCP
/IP开发的一个聊天程序,可用来作为学习
Socket
开发参考。
TCP
/UDP
Socket
调试工具,基于Qt &
C++
开发
TCP
/UDP
Socket
调试工具,基于Qt &
C++
开发。支持
TCP
客户端。支持 UDP 单播。支持 UDP 组播。支持 UDP
广播
C语言
70,026
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章