UDP主要API詳解

1. DatagramSocket

  • 用於接收與發送UDP的類
  • 負責發送一個UDP包或接收UDP包
  • 不同於TCP,UDP並沒有合併到Socket API中(無服務器和客戶端的區別)
  • DatagramSocket() 創建簡單實例,不指定端口和IP
  • DatagramSocket(int port) 創建監聽固定端口的實例(接收數據的端口)
  • DatagramSocket(int port, InetAddress localAddr) 創建監聽固定端口指定IP的實例(計算機存在多個IP地址時可以使用,只監聽某一固定IP的數據)
  • receive(DatagramPacket d) 接收UDP封裝包
  • send(DatagramPacket d) 發送UDP封裝包
  • sendSoTimeout(int timeout) 設置超時時間,毫秒
  • close() 關閉,釋放資源

2. DatagramPacket

  • 用於處理報文
  • 將byte數組、目標端口等數據包裝成報文或將報文解析爲byte數組
  • 是DUP發送實體,也是接收實體
  • DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) 前3個參數指定buf的使用區間,後2個指定目標機器與端口(僅發送數據時指定,接收時計算機自動判別)
  • DatagramPacket(byte[] buf, int length, SocketAddress address) SocketAddress相當於InetAddress+Port
  • setData(byte[] buf, int offset, int length)
  • setData(byte[] buf)
  • setLength(int length)  
  • getData()、getOffset()、getLength()
  • setAddress(InetAddress iadde)、setPort(int iport)
  • getAddress()、getPort()
  • setSocketAddress(SocketAddress address)
  • getSocketAddress() 可無參構造,後使用以上函數進行賦值和取值操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章