有时我必须将消息发送到特定的IP,有时我必须将消息广播到网络中的所有IP。在另一端,我必须区分广播和普通广播,但recvfrom()只返回消息来自的地址;它们之间没有区别。有人能帮我把它们区分开吗?
协议为UDP。
发布于 2010-05-17 19:20:52
我认为使用Python的socket模块是不可能的。UDP是一种非常简单的协议,区分广播和非广播UDP数据包的唯一方法是查看目的地址。但是,您不能使用BSD socket API检查包的这一部分(如果我没记错的话),而且socket模块只公开BSD socket API。最好的办法可能是使用消息的第一个字节来表示它是广播消息还是单播消息。
https://stackoverflow.com/questions/2848098
复制相似问题