gpt4 book ai didi

特定接口(interface)上的Python扭曲框架多播绑定(bind)

转载 作者:太空狗 更新时间:2023-10-29 21:44:34 24 4
gpt4 key购买 nike

在谷歌上下搜索后,我还没有找到以下问题的明确答案:大致遵循以下指南: http://twistedmatrix.com/documents/10.2.0/core/howto/udp.html#auto3

如何将扭曲的多播监听器绑定(bind)到多播地址以及特定或所有接口(interface)。

在查看 reactor.listenMulticast 时,它不提供硬件接口(interface)的抽象,仅提供由 IP 地址表示的伪接口(interface)。我找不到只绑定(bind)多播地址的方法,例如特定接口(interface)或所有接口(interface)的 224.0.0.1。任何人都可以提供更多信息吗?

最佳答案

reactor.listenMulticast 返回一个 twisted.internet.udp.MulticastPort 对象。该对象拥有您正在监听的套接字。因此,请注意 reactor.listenMulticast 的结果并设置适当的套接字选项(在本例中它看起来像 SO.BINDTODEVICE)以及一个空终止设备字符串。

import IN, socket, struct

udp_port = reactor.listenMulticast(8005, MulticastServerUDP())
dev = "eth0" + "\0"
udp_port.socket.setsockopt(socket.SOL_SOCKET, IN.SO_BINDTODEVICE, dev)
reactor.run()

如果它直接通过 listenMulticast 调用公开就更好了,但假设这可行,这将是一个非常简单的补丁。如果这能解决您的问题,请告诉我。

关于特定接口(interface)上的Python扭曲框架多播绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5498652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com