服务器
udpserver.java
package server;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class udpserver {
final static int port = 7217;
public static void main(String[] args) throws Exception {
System.out.println("服务器!");
DatagramSocket socket = null;
socket = new DatagramSocket(port);
DatagramPacket packet = new DatagramPacket(new byte[2048], 2048);
socket.receive(packet);
byte[] rData = packet.getData();//客户端发过来的文字
InetAddress rAddress = packet.getAddress();//地址
int rPort = packet.getPort();//端口
System.out.println("内容:"+new String(rData));
System.out.println("IP地址:"+ rAddress.getHostAddress());
System.out.println("端口号:"+ rPort);
socket.close();
}
}
客户端
udpclient.java
package client;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class udpclient {
final static int port = 7217;
final static String ip = "127.0.0.1";
final static String sendStr = "你好,我是客户端!";
public static void main(String[] args) throws Exception {
System.out.println("客户端!");
DatagramSocket socket = null;
socket = new DatagramSocket();
DatagramPacket packet = new DatagramPacket(
sendStr.getBytes(),//字符串的字节数组
sendStr.getBytes().length,//字节数组的长度
InetAddress.getByName(ip),//IP
port);//端口
socket.send(packet);//发包
socket.close();
}
}
运行效果
服务器输出:
服务器!
内容:你好,我是客户端!
IP地址:127.0.0.1
端口号:50656
客户端输出:
客户端!