当前位置:  开发笔记 > 运维 > 正文

如何在网络中广播消息?

如何解决《如何在网络中广播消息?》经验,为你挑选了2个好方法。

我正在研究用C编写的客户端 - 服务器应用程序.我想向本地网络上的所有可用机器广播消息.

如何使用C中常用的套接字系统调用来做到这一点?



1> Enrico Carle..:

只需将消息发送到您的子网的广播地址(对于192.168.0.0/24就是192.168.0.255),或仅广播到255.255.255.255。



2> Adrien Pliss..:

您必须使用UDP通过网络发送广播消息.通过创建套接字时socket()功能,指定AF_INETfamily参数,并SOCK_DGRAMtype参数.在某些系统上,您必须通过将SO_BROADCAST套接字选项设置为1 来启用广播数据包的发送,使用setsockopt().

然后使用sendto()函数调用发送数据报,并255.255.255.255用作目标地址.(对于数据报套接字,您不需要调用connect(),因为没有'连接').

在标准实现中,该地址广播到本地网络中的所有计算机,这意味着该数据包不会跨越网关边界,并且不会被使用与发送计算机的网络掩码不同的网络掩码的计算机接收.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有