c# – 要每50毫秒发送一次图像,我应该使用TCP还是UDP?
我正在构建一个C#应用程序,使用服务器 – 客户端模型,服务器每50ms通过一个套接字向客户端发送一个图像(100kb)…
我使用的是TCP,但除了这个协议的开销之外,有时客户端最终在套接字上有多个图像.我仍然没有一个聪明的机制来分割每个图像的字节(实际上,我只需要最新的图像). 我尝试使用UDP,但得出的结论是我不能发送100kb图表,只能发送64kb图表.即便如此,我不应该使用超过1500字节;否则,数据包将沿着网络划分,丢失部分数据包的可能性会更大. 所以现在我有点困惑.我应该继续使用TCP并在每个图像的末尾放置一些转义字节,以便客户端可以将它们分开吗?或者我应该使用UDP,发送1500字节的dgrams并提出订购和恢复机制? 这里的关键目标是快速传输图像.只要客户不断接收新的东西,我不介意在途中丢失一些. 或者我应该使用其他协议?提前致谢! 解决方法
如果出现以下情况,我建议使用UDP:
>您的应用程序可以处理无法通过的图像或小图像, 如果您正在实施视频会议应用程序,那么值得注意的是大多数人使用UDP. 否则,您应该使用TCP并实现一种方法来分隔图像.在这方面的一个建议是看一下RTP协议.它专为传输VoIP和视频等实时数据而设计. 编辑:我过去常常浏览过几次.Net RTP库,除了非.Net库的包装或半完成的包装,我没有太大的成功.我只是快速看了一下,这可能是这个ConferenceXP看起来更有前途. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |