严格依据:
How do you UDP multicast in Python?
import socket
import struct
MCAST_GRP = '233.3.3.3'
MCAST_PORT = 12312
IS_ALL_GROUPS = True
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
if IS_ALL_GROUPS:
# on this port, receives ALL multicast groups
sock.bind(('', MCAST_PORT))
else:
# on this port, listen ONLY to MCAST_GRP
sock.bind((MCAST_GRP, MCAST_PORT))
mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
while True:
print sock.recv(10240)
我使用VLC流式传输视频。
但是,我只能使用IS_ALL_GROUPS = True
进行绑定。每当我想通过IS_ALL_GROUPS = False
绑定时,我都会得到WinError 10049:请求的地址在其上下文中无效。
当我尝试使用相同的发送方和接收方脚本时,但在linux上没有这样的错误。
在这种情况下我能做什么
目前没有回答
相关问题 更多 >
编程相关推荐