用于在Python中侦听多个多播端口的脚本

时间:2014-11-14 11:21:53

标签: python twisted multicast

我正在编写一个需要监听多个不同端口以进行多播的脚本。每当有消息进来时,我都希望根据它进入的端口执行不同的操作。 (例如,登录到不同的文件)

我的第一个想法是使用Twisted(或类似的),例如通过在他们的doco中展示多播示例(https://twistedmatrix.com/documents/14.0.0/core/howto/udp.html),但多次调用一个协议类,例如:

reactor.listenMulticast(8005, MulticastPingClient(), listenMultiple=True)
reactor.listenMulticast(8006, MulticastPingClient(), listenMultiple=True)
reactor.run()

然后使用datagramReceieved根据端口执行不同的操作。这不起作用,我强烈怀疑这不是最好的方法。

我知道这是一个广泛的问题,但希望我的目标是明确的。我没有绑定任何框架(只是Python)。任何指向优雅解决方案的指针都将非常感激。工厂似乎是一种合理的方法,但它们(逻辑上)不支持无状态协议。

0 个答案:

没有答案