TCP/IP 可以在没有 UDP 的客户端之间有效地多播吗

Jef*_*ffV 2 multicast tcp

我有一个高带宽应用程序,其中服务器将在千兆网络上以 ~300Mb/s 的速率生成数据。除了 UDP 之外,还有其他方法可以通过可靠的传输机制向 1 到 10 个客户端多播吗?

此应用程序非常类似于流视频,因为流的连续性比可靠性更重要。当前的应用程序有点慢,它使用 UDP 结合它自己的错误检查,客户端知道丢弃数据块。

是否有任何硬件选项可以为多个客户端提供可靠的 TCP/IP 流?

是否有任何协议可以隧道传输数据流并支持前向纠错?如果服务器/客户端仍然可以将其视为普通套接字,那就太好了。

只是认为必须有比滚动您自己的 UDP 多播解决方案更好的方法。

请注意,对于我的特定应用程序,服务器和客户端可以位于同一子网上。虽然,我对所有答案/选项感兴趣。

谢谢。

Pet*_*ter 5

多播,根据定义,使用UDP。如果您的流真的很像视频,那么您就不想尝试重新发送丢失的数据包——这只会破坏视频流。

但是,如果所有数据包都到达那里很重要,那么您需要某种消息摘要来跟踪丢失的数据并“带外”重新发送任何丢失的数据包。或者,Pragmatic General Multicast可能是您正在寻找的东西——尽管这仍然是一个实验协议。