社区
C语言
帖子详情
c/c++ socket tcp如何实现广播/多播?
tzg_dzq
2011-09-14 10:18:39
如何才能高效地实现一台服务器同时向多台客户端发送数据?
广播/多播有这种功能,不知如何实现?
高手请指点。
...全文
2007
20
打赏
收藏
c/c++ socket tcp如何实现广播/多播?
如何才能高效地实现一台服务器同时向多台客户端发送数据? 广播/多播有这种功能,不知如何实现? 高手请指点。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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的广播。
Linux C/
C++
UDP套接字编程实战:从原理到回声服务器
实现
在网络编程中,套接字(
Socket
)是进程间通信的核心接口,它抽象了网络数据传输的底层细节。其工作原理是基于操作系统提供的系统调用,在应用层与传输层之间建立桥梁,
实现
不同主机间的数据交换。UDP(用户数据报协议)作为一种无连接的传输层协议,其技术价值在于提供了低延迟、高吞吐量的通信能力,特别适合对实时性要求高、可容忍少量丢包的场景,如音视频直播、在线游戏和物联网传感数据上报。通过理解UDP套接字编程中的字节序转换、数据报边界处理等核心机制,开发者能够构建轻量级、高性能的网络应用。本文以Linux C/
C++
Linux C/
C++
学习日记(24):UDP协议的介绍:
广播
、
多播
的
实现
UDP(用户数据报协议)是传输层的一种轻量级协议,具有无连接、不可靠和高效的特点。它通过牺牲可靠性换取传输速度和效率,适用于实时性优先的场景,如音视频传输、在线游戏和DNS查询。UDP支持
广播
和
多播
通信,前者向局域网内所有设备发送数据,后者仅向特定组内设备传输。文章详细对比了
广播
和
多播
的特性,并提供了C语言
实现
的代码示例,包括发送端和接收端的配置步骤。UDP的核心价值在于满足低延迟和轻量化的需求,是
TCP
协议的重要补充。
C++
TCP
Socket
编程实践:从零
实现
本地消息
广播
服务器
网络编程是构建分布式系统的基石,其核心在于理解进程间通信的原理与
实现
。
TCP
协议通过三次握手建立可靠连接,并确保数据有序、无差错地传输,为众多上层应用提供了稳定基础。在技术价值层面,掌握底层
Socket
API能帮助开发者深入理解网络I/O模型、并发处理与资源管理,这是构建高性能服务的关键。应用场景广泛,从即时通讯、实时数据推送到多人在线游戏,都离不开高效的消息
广播
机制。本文通过一个本地化的
TCP
消息
广播
器项目,详细解析了如何使用
C++
和POSIX
socket
API
实现
服务端多客户端管理,并探讨了从阻塞
Linux C编程
socket
——Udp
广播
Linux C编程
socket
——Udp
广播
UDP
广播
简介概述
广播
地址
广播
特点UDP
广播
特点Udp
广播
编程函数简介UDP
广播
编程示例 UDP
广播
简介 概述 网络上的
广播
指:网络上的
广播
指:由一台主机向该主机所在子网内(同一个局域网)的所有主机发送数据的方式。如下图的 1 号主机
广播
给2、3、4、5 号主机发送数据:
实现
广播
,离不开
广播
地址,同一个子网(局域网)的所有主机网卡都会接收所...
C#网络编程进阶:从 UDP/
TCP
协议到事件与
多播
的全面解析
网络编程与事件机制精要 本文系统性地介绍了网络编程核心概念和C#事件机制。主要内容包括: 网络协议基础:对比UDP(无连接、高效)和
TCP
(可靠、面向连接)的特点及适用场景
Socket
编程:详细讲解基于
TCP
和UDP的
Socket
通信流程,包括服务端和客户端的
实现
步骤 委托机制: 委托作为类型安全的方法封装
多播
委托
实现
方法链式调用 返回值处理(仅保留最后一个方法的返回值) 事件系统: 基于委托的发布/订阅模式 事件与委托的区别(访问权限控制) 标准事件模式(EventHandler和EventArgs)
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章