加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 要每50毫秒发送一次图像,我应该使用TCP还是UDP?

发布时间:2020-12-15 19:41:29 所属栏目:百科 来源:网络整理
导读:我正在构建一个C#应用程序,使用服务器 – 客户端模型,服务器每50ms通过一个套接字向客户端发送一个图像(100kb)… 我使用的是TCP,但除了这个协议的开销之外,有时客户端最终在套接字上有多个图像.我仍然没有一个聪明的机制来分割每个图像的字节(实际上,我只需
我正在构建一个C#应用程序,使用服务器 – 客户端模型,服务器每50ms通过一个套接字向客户端发送一个图像(100kb)…

我使用的是TCP,但除了这个协议的开销之外,有时客户端最终在套接字上有多个图像.我仍然没有一个聪明的机制来分割每个图像的字节(实际上,我只需要最新的图像).

我尝试使用UDP,但得出的结论是我不能发送100kb图表,只能发送64kb图表.即便如此,我不应该使用超过1500字节;否则,数据包将沿着网络划分,丢失部分数据包的可能性会更大.

所以现在我有点困惑.我应该继续使用TCP并在每个图像的末尾放置一些转义字节,以便客户端可以将它们分开吗?或者我应该使用UDP,发送1500字节的dgrams并提出订购和恢复机制?

这里的关键目标是快速传输图像.只要客户不断接收新的东西,我不介意在途中丢失一些.

或者我应该使用其他协议?提前致谢!

解决方法

如果出现以下情况,我建议使用UDP:

>您的应用程序可以处理无法通过的图像或小图像,
>您可以将图像压缩为65535个字节.

如果您正在实施视频会议应用程序,那么值得注意的是大多数人使用UDP.

否则,您应该使用TCP并实现一种方法来分隔图像.在这方面的一个建议是看一下RTP协议.它专为传输VoIP和视频等实时数据而设计.

编辑:我过去常常浏览过几次.Net RTP库,除了非.Net库的包装或半完成的包装,我没有太大的成功.我只是快速看了一下,这可能是这个ConferenceXP看起来更有前途.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读