udp虽然是面相无连接的,但是发送前,他也是要确定发送的目标的。
它发送的时候用到socket用到数据包,datagrampacket用来实现无连接数据包的投递服务,每条报文根据该包中包含的信息,(源端口,目的端口,源地址,目的地址)从一台机器路由到另外一台机器。
相对于tcp的面相连接,主要是说,Udp没有三次握手,没有相互确认对方存在的问题,不是说没有发送的具体目地。
udp发送到目的端后,如果接受不了,是直接丢包的。
扣扣其实是udp和Tcp都有,可以发现在同一个楼道或者楼宇里传送大视频等,会有7兆8兆的速度,期间是局域网通信用的udp。
有时候对方不在线,我们发送的东西其实是发送到远程的腾讯服务器上,是tcp。服务器检查你的好友是否长时间未上线,上线,发给他,不上线,时间一长就不保存了。所以会出现丢失消息的情况,并不是tcp丢包了。
|