Java 基于 UDP 协议的 Socket 编程 —— 服务器端程序

2023-03-09 19:02:29 浏览数 (1)

代码语言:javascript复制
package aaa;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class Main { // 别忘记了抛出异常
	public static void main(String[] args) throws IOException {
		DatagramSocket ds = new DatagramSocket(5000);
		// 下一步 服务器接受客户端传来的数据,然后经过变换发送出去
		// 首先接收数据
		while (true) {
			byte[] buf = new byte[1024];
			DatagramPacket dpa = new DatagramPacket(buf, buf.length); //接收指定长度的数据包
			ds.receive(dpa);

			String strReceive = new String(dpa.getData(), 0, dpa.getLength()); // 获取数据、指定开始、结束长度
			System.out.println("客户端传来的信息:"   strReceive);
			
			// 变换一下发送出去
			String strSend = "服务器接收的数据是: "   strReceive;
			DatagramPacket dpSend = new DatagramPacket(strSend.getBytes(), strSend.getBytes().length, dpa.getAddress(),
					dpa.getPort());  // 构造数据报包,将长度为length的发到指定主机的指定端口号
			ds.send(dpSend);
			if (strReceive.equals("exit")) {
				break;
			}
		}
		// 关闭流
		ds.close();

	}
}

0 人点赞