程序客戶端代碼也與此類似
程序清單
public class UdpClient
{
//定義發送數據報的目的地
public static final int DEST_PORT =
public static final String DEST_IP =
//定義每個數據報的最大大小為
private static final int DATA_LEN =
//定義該客戶端使用的DatagramSocket
private DatagramSocket socket = null;
//定義接收網絡數據的字節數組
byte[] inBuff = new byte[DATA_LEN];
//以指定字節數組創建准備接受數據的DatagramPacket對象
private DatagramPacket inPacket =
new DatagramPacket(inBuff
//定義一個用於發送的DatagramPacket對象
private DatagramPacket outPacket = null;
public void init()throws IOException
{
try
{
//創建一個客戶端DatagramSocket
socket = new DatagramSocket()
//初始化發送用的DatagramSocket
outPacket = new DatagramPacket(new byte[
InetAddress
//創建鍵盤輸入流
Scanner scan = new Scanner(System
//不斷讀取鍵盤輸入
while(scan
{
//將鍵盤輸入的一行字符串轉換字節數組
byte[] buff = scan
//設置發送用的DatagramPacket裡的字節數據
outPacket
//發送數據報
socket
//讀取Socket中的數據
socket
System
inPacket
}
}
//使用finally塊保證關閉資源
finally
{
if (socket != null)
{
socket
}
}
}
public static void main(String[] args)
throws IOException
{
new UdpClient()
}
}
上面程序的粗體字代碼同樣也是通過DatagramSocket發送
讀者可能會發現
當使用UDP協議時
返回目錄
編輯推薦
Java程序性能優化
新手學Java
Java程序設計培訓視頻教程
[
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27260.html