欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-04 20:46:22
...
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();

	}
}

 

相关标签: UDP