柚子快報激活碼778899分享:網(wǎng)絡(luò) UDP發(fā)送和接受數(shù)據(jù)
柚子快報激活碼778899分享:網(wǎng)絡(luò) UDP發(fā)送和接受數(shù)據(jù)
發(fā)送數(shù)據(jù)
public class sendmessage {
public static void main (String[] args) throws IOException {
DatagramSocket ds=new DatagramSocket();
//打包數(shù)據(jù)開始
String s="hello world";
byte[] b=s.getBytes();
//獲取InetAddress的對象
InetAddress address=InetAddress.getByName("127.0.0.1");
//端口號
int port=10086;
//打包數(shù)據(jù)結(jié)束
DatagramPacket dp=new DatagramPacket(b,b.length,address,port);
//發(fā)送數(shù)據(jù)
ds.send(dp);
//釋放數(shù)據(jù)
ds.close();
}
}
接受數(shù)據(jù)
public class receivemessage {
public static void main (String[] args) throws IOException {
//接受的時候一定要綁定端口
//綁定的端口一定要和發(fā)送的端口保持一致
DatagramSocket ds=new DatagramSocket(10086);
//接受數(shù)據(jù)包
byte[] b=new byte[1024];
DatagramPacket dp=new DatagramPacket(b,b.length);
ds.receive(dp);
//解析數(shù)據(jù)包
//獲取數(shù)據(jù)
byte[] result=dp.getData();
int len=dp.getLength();
//獲取發(fā)送方的地址
InetAddress address=dp.getAddress();
//獲取發(fā)送方的發(fā)送端口
int port=dp.getPort();
System.out.println(new String(result,0,len));
System.out.println("發(fā)送方的地址"+address+"發(fā)送方的發(fā)送端口"+port);
ds.close();
}
}
要先運行接收端再運行發(fā)送端,否則無法收到數(shù)據(jù)
初學(xué)者,見解不足,如有錯誤請指出
柚子快報激活碼778899分享:網(wǎng)絡(luò) UDP發(fā)送和接受數(shù)據(jù)
參考閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。