C# udp是啥意思啊,是干啥的啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# udp是啥意思啊,是干啥的啊相关的知识,希望对你有一定的参考价值。

最普遍的介绍:

UDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP是与TCP相对应的协议,它是面向非连接的协议,它不与对方连接,而直接把数据包发送过去。“面向非连接”就是正式通信前不必与对方建立连接,不管对方状态就直接发送。

特点是什么:

(1)UDP是一个无连接协议,传输数据之前,源端和终端不建立连接,当它想传送时就简单的抓取来自应用程序的数据,并尽可能快的把他扔到网络上。在发送端UDP传送的速度仅仅是受应用程序数据生成的速度、计算机能力和传输带宽限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读取一个消息段。

(2)由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多台客户机传输相同的信息。

(3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

(4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输宽带、源端和终端主机性能的限制。

(5)UDP使用尽量最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(该表中有许多参数)。

(6)UDP是面向报文的。发送方对应用程序交下来的报文,在添加首部后就向下交付个IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

举例说明应用场景:

一般用于实时视频通讯,例如QQ

实时音视频是可以而且应该用 UDP 的,一方面因为它常常涉及到网络穿透,另外一方面它不需要重传。——我需要实时的看到你的图像跟声音,至于中间丢一帧什么的完全不重要。而为了重传往往会造成延迟与不同步,考虑一下,某一帧因为重传,导致0.5秒以后才到,那么整个音视频就延迟了0.5秒。

考虑一下接收方看视频,如果使用 TCP 导致视频的中间延迟了0.5秒,只要我不按「快进」键,那么后续的视频全都会比发送方延迟0.5秒。这种延迟是累加的,随着持续丢帧,延迟会越来越大,达到数秒,甚至分钟级,这会严重影响实时音视频的用户体验。

因此「实时音视频聊天」功能通常都会使用 UDP 实现。

其它含义:

注:UDP比TCP更容易穿越路由器防火墙。

注:在互联网技术中,UDP常用在缓存读取,保存;用在监控或终端上报。

注:在选择使用协议的时候,选择UDP必须要谨慎。在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和QQ就是使用的UDP协议。

参考技术A User Date Protocol,用户数据报协议,是一种非面向联接协议。

phpStudylong是干啥的?

phpStudylong这个是什么文件?用来做什么?

phpStudylong:搭建网络环境和网站要用到的简单易用的工具。
php记录文件
用来架设PHP的使用环境的,php是一种编程语言
参考技术A http://baike.baidu.com/view/1171703.htm

以上是关于C# udp是啥意思啊,是干啥的啊的主要内容,如果未能解决你的问题,请参考以下文章

dotnet程序员是干啥的啊

java编程:eclipse 中感叹号是啥意思?需要做啥处理?缺省包和jre系统库是干啥的?本分人新手!

请问啥是网络爬虫啊?是干啥的呢

java里 nextToken() 这个是干啥的啊????

gpio接口是啥(gpio接口是干啥的)

EASY code是干啥的?