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