第一个应用端
package com.zit.entiry;
/**
*数据报包套接字
*/
import java.net.*;
public class ClientDatagrampacket {
public static void main(String[] args) {
//这是一个用于发送数据报包
byte [] by = new String("我的名字是 哈哈哈").getBytes();
DatagramPacket dp = new DatagramPacket(by,by.length);
//这是用于接收的
byte [] by2 = new byte[100];
DatagramPacket dp2 = new DatagramPacket(by2,by2.length);
SocketAddress sadd = new InetSocketAddress("localhost",8787);//这是一个远程的数据报包
try {
DatagramSocket ds = new DatagramSocket(8686);//创建一个数据报包
ds.connect(sadd);
ds.send(dp);//发送一个数据报包
ds.receive(dp2);//接收数据报包
by2 = dp2.getData();
System.out.println("接收到的数据报包是"+new String(by2));
} catch (Exception e) {
e.printStackTrace();
}
}
}
第二个应用端
package com.sczy.entity;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
import java.util.Scanner;
public class severDatagram {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
byte[] by = new byte[100];
DatagramPacket dp = new DatagramPacket(by, by.length);//用于接收
byte [] by2 = in.next().getBytes();
DatagramPacket dp2 = new DatagramPacket(by2, by2.length);//用于发送
InetSocketAddress ints = new InetSocketAddress("localhost",8686);//远端连接
try {
DatagramSocket ds = new DatagramSocket(8787);
ds.receive(dp);
by = dp.getData();
String mess = new String(by);
System.out.println("接收到的信息是"+mess);
ds.connect(ints);
ds.send(dp2);
} catch (Exception e) {
e.printStackTrace();
};
}
}