首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python原始组播

Python原始组播
EN

Stack Overflow用户
提问于 2016-05-14 12:26:15
回答 1查看 284关注 0票数 0

我试着听Python的多播交易。我试着听鲤鱼协议的解码,所以它是原始的,而不是UDP。但我没有收到任何数据。

如果在同一台主机上,我使用了一个侦听鲤鱼trafic (ucarp)的应用程序,那么应用程序就会看到trafic,所以它应该是工作的。

下面是我使用的代码:

代码语言:javascript
复制
import socket
import struct

MCAST_GRP = '224.0.0.18'

s = socket.socket(socket.AF_INET, socket.SOCK_RAW, 112)

s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
s.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)

print("waiting for data...")
print(s.recvfrom(10))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-14 13:13:43

实际上,这段代码是有效的。我使用的网络设置,不是。我不知道为什么要用ucarp而不是python。

不起作用的设置是运行python的libvirt主机和带有openbsd发送鲤鱼的kvm。

工作设置是两个VM、一个openbsd发送carp和一个运行python代码的Debian/Linux。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37226643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档