1、要谈一下对UDP的理解。
UDP说自己真的很难,没想到最后还是要舔狗。一般来说,我们讲技术的时候,都是讲理论太多,搞得我们一脸懵逼,今天我们就不这么做了,直接举一个生动的UDP例子。
听说好了,有一天,丑男爱上了一个美女,开始了他对死皮赖脸的追求,他通过身边人搞到了美女的微信、QQ,每天都给美女发信息,不管美女是否在线,每天都给美女买吃的,美女却一概不收,就像懒蛤蟆想吃天鹅肉一样,每天都要舔一遍,最后发现美女一直吃着自己给她买的东西,又跟着另一个男人跑了,舔了狗发出的惨叫,我太难了,最后死了。
举个例子,这个例子很生动,但这样我们就更有画面感,更有学习的动力,为什么最后UDP变成了舔狗?结果发现,UDP在网络通信方面是无链接的,就像舔狗发信息一样,美女不一定在线,不一定收手,也许他的QQ、微信都是小号,哈哈,太给力了。就是不需要确定对方能否接收,直接发送,无需建立联系。QQ还通过UDP协议发送信息,不用担心收到信息。
UDP的理解已经结束,接下来我们将了解UDP的特性。
UDP对数据的安全性、是否有相互到底的完整次序,相互接手没有严格要求,
2、UDP特性。
UDP是面向无连接的,就像我们用快递寄送一样,我们只需要写好我们的寄送地址,至于用什么快递没有关系。
UDP是以数据包为基础的数据格式的发送和接收(包括数据标题和数据本身)
应用需要发送UDP时,会发送,不会处理阻塞(不要将处理UDP的程序写入主线程)
3、应用场景。
在一对多的情况下,广播和多播应用必须使用UDP协议。
只需回复一个简单的请求即可使用UDP,对于数据流来说,丢失或丢失包都没有关系,只需要使用UDP。
在传输大量数据时不宜使用UDP,对数据传输要求较高。
DNS,NFS,流媒体传输等。
上面是一些干货,下面我们上代码