udp服务和客户端注意点记录
CLIENT端
UDP的链接性
- 咱们知道udp是无链接的,这个无链接指的是不和服务端创建像tcp协议那样的长链接.
- new DatagramSocket().connect(address) 在客户端会占用一个句柄,因此该udp socket不用后须要调用datagramSocket.close()来关闭链接,释放资源 不然就会产生链接泄露
上图便是udp客户端的链接状态,咱们看到它跟tcp差很少
UDP缓冲区设置
SERVER端
吞吐量
- 因为udp的无链接性,client发送大量的数据,服务端若是不能及时处理这些数据包,就会致使udp丢包,常规的作法 就是多线程异步处理udp消息,即read方法读取后,直接异步写入队列,千万不能在read方法里面同步作业务
欢迎关注本站公众号,获取更多信息