package demo02;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPrecieve {
public static void main(String[] args) throws IOException {
//接收端
//1.创建码头,绑定端口号
DatagramSocket ds =new DatagramSocket(8000);
//2.创建字节数组,接收发来的数据
byte [] b =new byte [1024];
while(true){
//3.创建数据包对象
DatagramPacket dp =new DatagramPacket(b, b.length);
//4.接收数据
ds.receive(dp);
//5.拆包
int len =dp.getLength();
String ip =dp.getAddress().getHostAddress();
int port =dp.getPort();
System.out.println("ip:"+ip+"端口号:"+port+"内容:"+new String (b,0,len));
}
//6.释放资源
//ds.close();
}
}
package demo02;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Scanner;
public class UDPSend {
public static void main(String[] args) throws IOException {
// 发送端
Scanner sc = new Scanner(System.in);
// 1.创建数据包对象,封装要发送的数据,接收端的IP,接收端的接口
InetAddress inet = InetAddress.getByName("192.168.1.172");
// InetAddress inet =InetAddress.getLocalHost();//本机
// 2.创建码头对象,进行数据包的发送
DatagramSocket ds = new DatagramSocket();
while (true) {
System.out.println("请输入要传输的数据:");
String mes = sc.nextLine();
byte[] b = mes.getBytes();
DatagramPacket dp = new DatagramPacket(b, b.length, inet, 8000);
ds.send(dp);
}
// 3.关闭资源
// ds.close();
}
}