28 lines
1.1 KiB
Java
28 lines
1.1 KiB
Java
package com.inmind.udp02;
|
|
|
|
import java.net.DatagramPacket;
|
|
import java.net.DatagramSocket;
|
|
|
|
//启动服务器,不停地获取客户端的信息
|
|
public class UdpServerDemo05 {
|
|
public static void main(String[] args) throws Exception {
|
|
System.out.println("服务器启动");
|
|
//1.创建服务器对象
|
|
DatagramSocket ds = new DatagramSocket(10023);
|
|
//2.不停地获取数据包
|
|
byte[] buffer = new byte[1024 * 64];
|
|
while (true) {
|
|
//3.创建出一个数据包,用于接收客户端的数据
|
|
DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
|
|
//4.服务器正式接收数据包
|
|
ds.receive(dp);
|
|
//5.将字节数据转为字符,并显示对应客户端的信息
|
|
int length = dp.getLength();//获取数据包中字节数据的长度
|
|
String result = new String(buffer, 0, length);
|
|
System.out.println(dp.getPort());//获取数据包的端口
|
|
System.out.println(dp.getAddress().getHostAddress());//获取数据包的IP地址
|
|
System.out.println(result);
|
|
}
|
|
}
|
|
}
|