Python 不支持指定源组播吗

指定源组播,Java 和 C#都完全支持的,Python 不支持吗。。。项目做了一半发现 Python 的 socket 不支持 igmpv3 指定源组播,坑爹啦


Python 不支持指定源组播吗
9 回复

Python 的 socket 不就直接是系统底层 socket 嘛,底层支持没道理 python 不支持。


我无法理解你的问题

大部分参数相同,指定源组播部分,但 socket 选项设置中缺少 IP_ADD_SOURCE_MEMBERSHIP 这个参数。。。

多谢大佬,这个网页我之前看到过。

if not hasattr(socket, ‘IP_ADD_SOURCE_MEMBERSHIP’):
setattr(socket, ‘IP_ADD_SOURCE_MEMBERSHIP’, 39)

这句感觉像是某种 hack,经过试验发现 windows 下并不能运行,提示设置了 socket 不支持的属性啥的。然后自己又用 C#写了个组播转发的程序,把 igmpv3 转成 python 能够识别的 igmpv2,有点蛋疼 ==。

你这转发不如用 c 写个 让 Python 调

直接 hardcode 这个常量的值不行吗?

因为这个值在 windows 下是 15
#define IP_ADD_SOURCE_MEMBERSHIP 15 // Join IP group/source.
你可以去 windows sdk 中看看 ws2ipdef.h 的源代码

多谢大神,win10 64 位测试可行

回到顶部