package com.ysu.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/**
* UDP发送端
*/
public class UDPServerDemo {
public static void main(String[] args) throws IOException {
String info = "小白";
//把数据转换成字节数组
byte[] bytes = info.getBytes();
//创建一个数据报包对象,用来将长度为 length 偏移量为 offset 的包发送到指定主机上的指定端口号
DatagramPacket data = new DatagramPacket(bytes, 0, bytes.length,InetAddress.getByName("192.168.1.103"),5200);
//创建一个UDP协议的套接字对象
DatagramSocket ds = new DatagramSocket(3000);
//发送数据报
ds.send(data);
System.out.println("发送完毕!");
}
}
package com.ysu.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
/**
* UDP接收端
* */
public class UDPClientDemo {
public static void main(String[] args) throws IOException {
byte[] bytes = new byte[1024];
//创建一个数据报对象
DatagramPacket dp = new DatagramPacket(bytes, bytes.length);
//创建UDP套接字对象
DatagramSocket ds = new DatagramSocket(5200);//在此端口进行监听
System.out.println("接收端正在等待接收...");
ds.receive(dp);//接收数据,该方法会造成阻塞
String info = new String(dp.getData(),0,dp.getLength());
System.out.println(info);
ds.close();
}
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/**
* UDP发送端
*/
public class UDPServerDemo {
public static void main(String[] args) throws IOException {
String info = "小白";
//把数据转换成字节数组
byte[] bytes = info.getBytes();
//创建一个数据报包对象,用来将长度为 length 偏移量为 offset 的包发送到指定主机上的指定端口号
DatagramPacket data = new DatagramPacket(bytes, 0, bytes.length,InetAddress.getByName("192.168.1.103"),5200);
//创建一个UDP协议的套接字对象
DatagramSocket ds = new DatagramSocket(3000);
//发送数据报
ds.send(data);
System.out.println("发送完毕!");
}
}
package com.ysu.udp;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
/**
* UDP接收端
* */
public class UDPClientDemo {
public static void main(String[] args) throws IOException {
byte[] bytes = new byte[1024];
//创建一个数据报对象
DatagramPacket dp = new DatagramPacket(bytes, bytes.length);
//创建UDP套接字对象
DatagramSocket ds = new DatagramSocket(5200);//在此端口进行监听
System.out.println("接收端正在等待接收...");
ds.receive(dp);//接收数据,该方法会造成阻塞
String info = new String(dp.getData(),0,dp.getLength());
System.out.println(info);
ds.close();
}
}
打赏: