我想在C#中创建类似于应用程序的teamviewer.在性能方面哪种协议更好的TCP或UDP? UDP只是在不强制执行订单的情况下发送网络消息,例如他们可以不按顺序进入,而不检查消息是否通过. TCP强制执行数据包排序,并且有一种检查实际通过的消息的方法.所以它更可靠. 就吞吐量而言 – 例如在给定时间内传输的数据量 – 实际上它们大致相同. UDP的优点是延迟更低.因为它不检查订单或确认收到数据
我想在C#中创建类似于应用程序的teamviewer.在性能方面哪种协议更好的TCP或UDP?
UDP只是在不强制执行订单的情况下发送网络消息,例如他们可以不按顺序进入,而不检查消息是否通过.
TCP强制执行数据包排序,并且有一种检查实际通过的消息的方法.所以它更可靠.
就吞吐量而言 – 例如在给定时间内传输的数据量 – 实际上它们大致相同.
UDP的优点是延迟更低.因为它不检查订单或确认收到数据包 – 您的程序在收到数据包时会收到数据包.没有等待确认.
当低延迟至关重要且消息很小时,您希望使用UDP,并且您的程序可以容忍丢失数据包和乱序数据包.我只看到它用于视频游戏(如射击游戏)用于发送用户输入.
对我来说,“teamviewer”意味着视频 – 大量数据 – 所以使用TCP.
精彩评论