//创建发送端
public static void internateSend(){
DatagramSocket ds;
try {
ds = new Data gramSocket () ; //定义一个数据缓存
byte [] buf = "这是一个发送端口".getBytes();
//定义封装的数据包 dp中有四个参数 一个是数据缓存一 统计数据的大小。一是接收端的地址。另一个是接收端的端口号。
DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddress.getByName("192.168.1.8"), 1000);
//发送数据
ds.send(dp);
/ /关闭资源
ds.close();
} catch (SocketException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (UnknownHostException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace ();
}
}
运行时,先打开接收端再发送,因为不打开接收端时会发送数据,但接收端不会收到。如果相关的饥饿端口被占用,关闭还是不行,那是因为你的内存中没有对应的端口。释放资源!