我正在编写一个用于视频传输的程序 - 它使用 OpenCV 将视频分割成帧,然后通过 UDP 发送它们。
问题是 - 当我发送时,我得到不同的结果 - 有时只发送几帧,有时它们已损坏。这很奇怪,因为我正在发送到本地主机(127.0.0.1)并且不应该有任何数据丢失。
我按块发送帧,每个块的大小为 10240 字节。
我还使用带有阻塞套接字的 Winsock 2。
这个问题的根本原因是什么?
您知道in代表不可靠,是吗?不,不是真的,但这是记住协议不保证交付的好方法。U
UDP
如果您需要保证交付,您应该使用TCP
.
https://www.google.com/search?q=udp+localhost+packet+loss的前几个结果表明即使发送到 localhost 也可能丢失数据包。