流套接字发送/接收广播消息?

sip*_*tti 6 python

我浏览了python socket docs和谷歌两天,但我没有找到任何答案.是的我是一个网络编程新手:)

我想实现一些具有特定功能的局域网聊天系统,以满足我们的需求.我刚开始.我能够实现客户端 - 服务器模型,其中客户端连接到服务器(socket.SOCK_STREAM),他们能够更改消息.我想向前迈进一步.我希望客户端通过广播发现有多少其他客户端可用.我失败了.socket.SOCK_STREAM类型套接字是否可能无法用于此任务?如果是这样,我的机会是什么?使用udp包?我如何监听brodcast消息/数据包?

Eri*_*ric 4

广播由目标地址定义。

例如,如果您自己的IP是192.168.1.2,则广播地址将为192.168.1.255(大多数情况下)

它与 python 没有直接关系,并且可能不会出现在其文档中。您正在寻找网络“一般”知识,其水平远高于套接字编程

*编辑

是的,你是对的,你不能使用 SOCK_STREAM。SOCK_STREAM 定义 TCP 通信。您应该使用 UDP 进行广播socket.SOCK_DGRAM