【问题标题】:How do I create a multicast stream socket over IPv6 in Python?如何在 Python 中通过 IPv6 创建多播流套接字?
【发布时间】:2011-10-29 09:04:34
【问题描述】:
我需要一些帮助来实现基于 IPv6 的多播流服务器,最好是在 Python 中。我可以使用 Datagram 服务器执行此操作,但由于我需要通过连接发送大量数据(图像和视频),我收到一条错误消息,指出数据太大而无法发送。
谁能告诉我如何实现一个可以发送和接收数据的多播流式套接字?
另外,如果有比 Stream Sockets 更好的方法,请告诉。
谢谢。
【问题讨论】:
标签:
python
sockets
streaming
ipv6
multicast
【解决方案1】:
您确实想使用数据报,因为多播有多个接收器,流套接字将不起作用。
您需要以小块(数据报)的形式发送您的数据,并在每个部分中说明它是流的哪个部分,以便接收者可以检测到丢失(和重新排序的)数据报。
与其发明一种新机制来识别部件,不如将数据封装在 RTP 中。
如果您要流式传输视频,可能值得研究 gstreamer,它可以发送和接收 RTP 并具有 python 绑定。