udp服务和客户端注意点记录

CLIENT端

UDP的链接性

  • 咱们知道udp是无链接的,这个无链接指的是不和服务端创建像tcp协议那样的长链接.
  • new DatagramSocket().connect(address) 在客户端会占用一个句柄,因此该udp socket不用后须要调用datagramSocket.close()来关闭链接,释放资源 不然就会产生链接泄露 udp 客户端链接状态 上图便是udp客户端的链接状态,咱们看到它跟tcp差很少

UDP缓冲区设置

SERVER端

吞吐量

  • 因为udp的无链接性,client发送大量的数据,服务端若是不能及时处理这些数据包,就会致使udp丢包,常规的作法 就是多线程异步处理udp消息,即read方法读取后,直接异步写入队列,千万不能在read方法里面同步作业务
相关文章
相关标签/搜索