package com.wet.udp;
import java.io.*;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*UDP服务器
*/
public class UDPServer {
public static void main(String[] args) {
try {
// 建数据报套接字并将其绑定到本地主机上的指定端口。
DatagramSocket ds = new DatagramSocket(8080);
// 构造 DatagramPacket,用来接收长度为 length 的数据包。
byte[] buf = new byte[1024];
DatagramPacket p = new DatagramPacket(buf, buf.length);
ds.receive(p); // 从此套接字接收数据报包
// ds.send(DatagramPacket p); 从此套接字发送数据报包
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-dd HH:mm:ss");
System.out.println(new String(p.getData()).trim() + " 时间:"
+ sdf.format(new Date()));
ds.close();
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.wet.udp;
import java.io.*;
import java.net.*;
/**
*UDP客户端
*/
public class UDPClient {
public static void main(String[] args) {
try {
//构造数据报套接字并将其绑定到本地主机上任何可用的端口
DatagramSocket ds = new DatagramSocket();
byte[] buf = "你好UDP服务器!".getBytes();
// 构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号
DatagramPacket p =new DatagramPacket(buf, buf.length, InetAddress.getByName("127.0.0.1"), 8080);
ds.send(p); //从此套接字发送数据报包
ds.close();
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果: