当前位置:  开发笔记 > 编程语言 > 正文

在Python中发送和接收IPv6链路本地多播UDP数据报?

如何解决《在Python中发送和接收IPv6链路本地多播UDP数据报?》经验,为你挑选了0个好方法。

以下是简单的IPv4 UDP广播,然后监听所有接口.

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)
sock.bind(("", 1337))
sock.sendto("hello world", ("255.255.255.255", 1337))
while True:
    data, addr = sock.recvfrom(0x100)
    print "received from {0}: {1!r}".format(addr, data)

我想调整它来发送和接收IPv4和IPv6.

我尽可能多地阅读并尽可能多地阅读并相信以下内容大致是我需要采取的路线:

    创建IPv6套接字.

    将套接字添加到链接或站点本地多播组.

    将UDP数据包发送到正在使用的组的多播地址.

进一步的信息我可能需要绑定到几个接口,并告诉套接字使用setsockopt()它还应该接收多播数据包.最后getaddrinfo()可以全面使用,以优雅地"退回"到IPv6不可用的IPv4.

我已经实现了很多,但主要是在多播部分上发现了.Python中的完整代码示例,或者对所需常量和地址的生动描述是首选.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有