📄 udpserver.java
字号:
import java.net.*;
import java.io.*;
public class UDPServer{
public static void main(String[] args) throws IOException{
byte[] buf = new byte[1024]; //报文缓冲区
//构造数据报套接口对象,端口号3333
DatagramSocket serverDSocket = new DatagramSocket(9876);
System.out.println("服务器在等待接收数据包...");
while (true) {
//构造数据包,用于接收客户端来的数据
DatagramPacket serverDPacket = new DatagramPacket(buf, 1024);
serverDSocket.receive(serverDPacket); //等待接收数据包
//将字节数组(接受到的报文)转换成字符串
String data = new String(buf, 0,serverDPacket.getLength());
if (data.equals("")) continue;
System.out.println("客户端说:" + data); //显示接受到的报文
if (data.equals("end!")) break; //如果接收到end!,服务结束
String strToSend = data.toUpperCase(); //将接收到的字符串转换成大写
byte[] msg = strToSend.getBytes(); //再将字符串转换成字节数组
InetAddress clientIP =serverDPacket.getAddress(); //获得客户地址
int clientPort = serverDPacket.getPort(); //获得客户端口
//将要回送的信息打成数据包
DatagramPacket clientpacket = new DatagramPacket(msg, strToSend.length(),
clientIP, clientPort);
serverDSocket.send(clientpacket); //将数据包发送给客户
}
serverDSocket.close();
System.out.println("服务器关闭,再见!");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -