社区
网络及通讯开发
帖子详情
如何用udp实现消息群发?
macri
2006-04-22 11:09:07
我知道内网中50台机器的IP,现在服务器要向这50台机器发送一条消息,如何用udp实现?
最好代码事例,我马上给分结贴。。。。THANKS
...全文
1067
20
打赏
收藏
如何用udp实现消息群发?
我知道内网中50台机器的IP,现在服务器要向这50台机器发送一条消息,如何用udp实现? 最好代码事例,我马上给分结贴。。。。THANKS
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pp616
2006-05-08
打赏
举报
回复
广播就好了。用不着组播。
铖邑
2006-05-08
打赏
举报
回复
楼上说的是用广播发送的吧?广播地址是192.168.*.255,是255不是0
另外,象楼主这个需求根本不需要用广播。
楼主好象不在意,发了帖子以后就没什么回音了
rookieme
2006-05-06
打赏
举报
回复
那么198网段的机子都将收到你的信息,如果有路由器则需要在socket中bind一个ttl数字,该数字在经过路由器时自动减一,直至0则不再传递,NMUDP的该黙认值为0,所以不能穿越路由器
iec
2006-05-06
打赏
举报
回复
路过.
rookieme
2006-05-06
打赏
举报
回复
如果有路由器,需bind一个参数,并对多播地址发
其实象LZ的需求,只需将发数时的IP的后面几亿改为0就行,如:198.0.0.0
rookieme
2006-05-06
打赏
举报
回复
NMUDP
rookieme
2006-05-06
打赏
举报
回复
我是说UDP控件不行
yuyulily
2006-04-26
打赏
举报
回复
学习了。。
铖邑
2006-04-23
打赏
举报
回复
多播不需要交换机的支持,但需要路由器的支持。
在一个局域网(以太网)内,多播可以无条件发送。但是如果想让多播通过路由器,就需要在路由器上配置多播路由,这个是比较复杂的,因为在互联网中使用的多播地址本身也是要申请的。在 局域网内部可以使用保留的多播地址,这个地址段有个范围,如果我没有记错的话应该是224.*.*.*-239.*.*.*,这里面还有一些规定,最好用后面的吧。这个我就记得不太清楚了,可以查资料看,多播地址是怎么规定的。
有什么问题可以继续保持联系。
macri
2006-04-23
打赏
举报
回复
谢谢楼上的兄弟,只怪我学业不精啊。。不过有人说udp不行,确实是害人哈。。
其实我就是想实现一个给所有用户发送通知的功能。以前看过一资料,说群发还要什么交换机的支持,不是是否存在这个问题。还请赐教。
铖邑
2006-04-23
打赏
举报
回复
不是在下自夸,本人从事网络编程多年,对协议与套接口编程还是比较了解的,既然回帖了,就不会瞎说。难道楼上的怀疑我的人品???
建议楼主看看有关多播方面的协议,再看UDP、多播socket编程资料。
铖邑
2006-04-23
打赏
举报
回复
回复人:rookieme(rookieme) ( 四级(中级)) 信誉:100 2006-04-23 08:57:00 得分:0
?
UDP不行
回帖也要负责任的,乱出主意是害人的。你告诉我UDP怎么不行了?群发消息(多播)不是需要用UDP吗???
铖邑
2006-04-23
打赏
举报
回复
不是UDP???要不要查一下SOCK_DGRAM是啥东东???
你说的是用UDP控件???
rookieme
2006-04-23
打赏
举报
回复
UDP不支持的,可用indy
rookieme
2006-04-23
打赏
举报
回复
UDP不行
铖邑
2006-04-23
打赏
举报
回复
192.168.*.* 是C类保留地址,ABC三类地址都有保留地址,用于普通IP寻址的。
D类地址:224.*.*.*-239.*.*.*,是专门留给多播使用的,也有保留地址。
macri
2006-04-23
打赏
举报
回复
大多数局域网内的IP都好像是这样的 192.168.*.* ,没有在你说那个范围内啊?
macri
2006-04-22
打赏
举报
回复
不明白,楼上的兄弟好像不是用的udp吧,我把问题再简化一下,就是向内网的所有客户端上线的的用户发
铖邑
2006-04-22
打赏
举报
回复
将socket加入239.255.193.250多播组,就可以接收目的IP地址为239.255.193.250的数据,发送数据则是发送至239.255.193.250地址。
不知楼主明白了没?
铖邑
2006-04-22
打赏
举报
回复
int s = socket(PF_INET, SOCK_DGRAM, IPPROTO_IP);
if(s < 0)return;
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = INADDR_ANY;
addr.sin_port = htons(APort);
if(bind(s, (sockaddr *)&addr, sizeof(addr)) < 0)
{
closesocket(s);
return;
}
ip_mreq mr;
mr.imr_interface.s_addr = INADDR_ANY;
mr.imr_multiaddr.s_addr = inet_addr("239.255.193.250"); // 加入多播組
setsockopt(FSocket, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char *)&mr, sizeof(ip_mreq));
Windows 10 错误1920,未能启动服务:office software protection platform。
Windows 10 错误1920,未能启动服务:office software protection platform。 2018年05月28日 18:02:41 繁城落叶 阅读数:1648 标签: Windows 10 更多 个人分类: 其他 版权声明:本文为博主原创文章,转载请标明出处:http://blog.csdn.net/leafage_m https://blog.csdn.n...
WIN10 OFFICE2010安装时报错:错误1920,未能启动服务:office software protection platform
WIN10 OFFICE2010安装时报错:错误1920,未能启动服务:office software protection platform WIN10上OFFICE2010每次打开文档时都提示某文件报错跳滚动条,只能卸载重装,OFFICE这软件,一旦报错卸载重装都有问题。。极度恶心,必须卸载干净后再重装。 1、卸载:使用OFFICE官方卸载工具,度娘即可;注意解压缩后文件夹内有3个文件,卸载o...
移动软件基础设施为何不属于你?从签名、驱动到服务报错的深度拆解
移动软件基础设施是设备中驱动、系统服务、签名证书与分发通道的集合,它决定了用户对设备的实际控制力。平台通过签名信任链、权限沙箱和更新策略将所有权集中在自己手中,这正是许多服务启动失败与驱动冲突的根源。从 Apple Mobile Device 报错 1053、AMD Software 错误 182 到 OSPP 服务 1920,这些高频故障本质上都是基础设施契约失效的表现。理解签名与信任链的运作原理,掌握驱动服务归属关系,才能在企业设备管理、应用分发和系统排障中快速定位问题边界,并借助脚本、虚拟化与审计机制
嵌入式设计平台实战:从CubeMX到Vitis,避开启动与配置的大坑
在嵌入式开发中,硬件初始化与板级配置一直是效率瓶颈。随着图形化配置工具与平台化设计方法普及,开发者可以在可视化界面中完成引脚复用、时钟树和外设参数配置,并自动生成可靠的基础代码。这类平台的核心理念是将芯片的硬件能力抽象为可管理的软件模型,从原理上解决传统寄存器级开发中复用表查阅繁琐、代码风格不一、平台移植困难等痛点。无论是使用GD32 Embedded Builder快速搭建MCU工程,还是基于Vitis Platform构建Zynq/SoC应用,理解平台组件的组成、处理缺失JCEF运行时等环境问题,并掌握
构建高质量软件:从内核模块到安装部署的全链路质量实践
软件质量并非只关乎功能正确,用户从下载、解压、安装到运行的每一步感知,都在定义质量。常见的构建与安装报错,如“building kernel modules”失败、服务启动错误 1920,往往暴露的是环境检测不足、错误信息含糊、依赖处理缺失等系统性缺口。高质量软件应当从用户视角出发,将环境准备、安装器健壮性、路径配置、权限策略等视为一等公民,并通过 CI 矩阵、安装冒烟测试和清晰的诊断日志,提前拦截问题。本文结合真实报错案例,拆解从构建到部署的六维质量框架,给出可落地的排查技巧与工具链配置,帮助开发团队把“
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章