社区
网络及通讯开发
帖子详情
如何用udp实现消息群发?
macri
2006-04-22 11:09:07
我知道内网中50台机器的IP,现在服务器要向这50台机器发送一条消息,如何用udp实现?
最好代码事例,我马上给分结贴。。。。THANKS
...全文
1027
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));
java基于
UDP
实现
图片
群发
功能
主要为大家详细介绍了java基于
UDP
实现
图片
群发
功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
UDP
协议
实现
局域网
群发
功能
此例子可以
实现
,
UDP
协议
实现
局域网
群发
功能,有注释,直接可以用
C语言用
UDP
实现
局域网聊天程序源码
C语言用
UDP
实现
局域网聊天程序源码,能够
实现
用户的注册,登陆,
群发
和私聊的功能。
udp
多线程
实现
多客户端并发,并采用链表
实现
服务器
群发
消息
udp
多线程
实现
多客户端并发,并采用链表
实现
服务器
群发
消息
。
udp
多线程
实现
多客户端并发,并采用链表
实现
服务器
群发
消息
linux c multithread concurrency linklist
udp
多线程
实现
多客户端并发,并采用链表
实现
服务器
群发
消息
udp
多线程
实现
多客户端并发,并采用链表
实现
服务器
群发
消息
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章