我正在使用服务器-客户端模型构建一个 C# 应用程序,其中服务器每 50 毫秒通过一个套接字向客户端发送一个图像(100kb)......
我使用的是 TCP,但除了这个协议的开销之外,有时客户端会在套接字上获得多个图像。而且我还没有一个聪明的机制来分割每个图像的字节(实际上,我只需要最近的一个)。
我尝试使用 UDP,但得出的结论是我不能发送 100kb 的 dgram,只能发送 64kb 的。即便如此,我也不应该使用超过 1500 字节;否则数据包将沿着网络被分割,并且丢失部分数据包的机会会更大。
所以现在我有点困惑。我应该继续使用 TCP 并在每个图像的末尾放置一些转义字节,以便客户端可以将它们分开吗?或者我应该使用 UDP,发送 1500 字节的 dgram,并提出一种排序和恢复机制?
这里的关键目标是非常快速地传输图像。只要客户不断收到更新的,我不介意在途中丢失一些。
或者我应该使用其他协议吗?提前致谢!