接受數(shù)據(jù)
1、創(chuàng)建接收端的Socket對象
(DatagramSocket)
2、創(chuàng)建一個數(shù)據(jù)包,用于接收數(shù)據(jù)
3、調(diào)用DatagramSocket對象的方法接收數(shù)據(jù)
4、解析數(shù)據(jù)包,并把數(shù)據(jù)在控制臺顯示
5、關閉接收端
實例
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
// 創(chuàng)建接收端的Socket對象(DatagramSocket)
//DatagramSocket (int port) 構造數(shù)據(jù)報套接字并將其綁定到主機上的指定端口
DatagramSocket ds = new DatagramSocket(10086);
// 創(chuàng)建一個數(shù)據(jù)包,用于接收數(shù)據(jù)
// DatagramPacket (byte[] buf ,int length) 構造一個DatagramPacket用于接收長度為length數(shù)據(jù)包
byte[] bys = new byte[1024];
DatagramPacket dp = new DatagramPacket(bys,bys.length);
// 調(diào)用DatagramSocket對象的方法接收數(shù)據(jù)
ds.receive(dp);
// 解析數(shù)據(jù)包,并把數(shù)據(jù)在控制臺顯示
//byte[] getData() 返回數(shù)據(jù)緩沖區(qū)
byte[] datas = dp.getData();
//int getLength() 返回要發(fā)送的數(shù)據(jù)的長度或接收到的數(shù)據(jù)的長度
// int len = dp.getLength();
// String dataString = new String(datas,0,len);
// System.out.println("數(shù)據(jù)是"+dataString);
System.out.println("數(shù)據(jù)是"+new String(datas,0,dp.getLength()));
// 關閉接收端
ds.close();
}
}
以上就是java中UDP接收數(shù)據(jù)的步驟,希望對大家有所幫助。更多關于“java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業(yè)需求,更科學更嚴謹,每年培養(yǎng)泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。