udp服務和客戶端注意點記錄
CLIENT端
UDP的鏈接性
- 咱們知道udp是無鏈接的,這個無鏈接指的是不和服務端創建像tcp協議那樣的長鏈接.
- new DatagramSocket().connect(address) 在客戶端會佔用一個句柄,因此該udp socket不用後須要調用datagramSocket.close()來關閉鏈接,釋放資源 不然就會產生鏈接泄露 上圖便是udp客戶端的鏈接狀態,咱們看到它跟tcp差很少
UDP緩衝區設置
SERVER端
吞吐量
- 因爲udp的無鏈接性,client發送大量的數據,服務端若是不能及時處理這些數據包,就會致使udp丟包,常規的作法 就是多線程異步處理udp消息,即read方法讀取後,直接異步寫入隊列,千萬不能在read方法裏面同步作業務
歡迎關注本站公眾號,獲取更多信息