/發(fā)送端B===>可以接受數(shù)據(jù)
public class UDPSenderB {
public static void main(String[] args) throws IOException {
//創(chuàng)建一個DatagramSocket 對象,準(zhǔn)備發(fā)送和接受數(shù)據(jù)
DatagramSocket socket = new DatagramSocket(9998);
//將需要發(fā)送的數(shù)據(jù),封裝到DatagramPacket對象
byte[] data = "hello “明天吃火鍋~".getBytes();
DatagramPacket packet = new DatagramPacket(data, 0, data.length, InetAddress.getLocalHost(), 9999);
socket.send(packet);
//現(xiàn)在接受A發(fā)送的信息
data = packet.getData();
int len = packet.getLength();
packet = new DatagramPacket(data, data.length);
socket.receive(packet);
String s = new String(data,0,len);
System.out.println(s);
System.out.println("UDPB端已經(jīng)退出~");
//關(guān)閉資源
socket.close();
}
}
public class UDPReceiverA {
public static void main(String[] args) throws IOException {
//1.創(chuàng)建一個DatagramSocket 對象,準(zhǔn)備在9999接收數(shù)據(jù)
DatagramSocket socket = new DatagramSocket(9999);
//2.構(gòu)建一個DatagramPacket對象,準(zhǔn)備接受數(shù)據(jù)
//一個數(shù)據(jù)包最大為64K===>2^16-1
byte[] buf = new byte[1024];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
//3.調(diào)用接受方法,將通過網(wǎng)絡(luò)傳輸?shù)腄atagramPacket對象
//填充到packet對象
System.out.println("正在等待接收數(shù)據(jù)...");
socket.receive(packet);
//現(xiàn)在將數(shù)劇進(jìn)行解包
int len = packet.getLength();
byte[] bytes = packet.getData();
String s = new String(bytes,0,len);
System.out.println("接收到的數(shù)據(jù)為:"+s);
//現(xiàn)在發(fā)送數(shù)據(jù)
byte[] bytes1 = "好的,明天見!".getBytes();
DatagramPacket packet1 =new DatagramPacket(bytes1,0,bytes1.length, InetAddress.getLocalHost(),9998);
socket.send(packet1);
System.out.println("UDPA端已經(jīng)退出~");
//關(guān)閉數(shù)據(jù)流
socket.close();
}
}
?文章來源:http://www.zghlxwxcb.cn/news/detail-733015.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-733015.html
到了這里,關(guān)于UDP網(wǎng)絡(luò)編程的接受與發(fā)送信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!