udpserverdemo.java

来自「互联网多人联机对垒游戏-分服务端、客户端」· Java 代码 · 共 43 行

JAVA
43
字号
import java.net.DatagramSocket;
import java.net.DatagramPacket;
import java.net.SocketException;
import java.io.IOException;
class UDPServerDemo{
	public static void main(String[] args){
		int sPort=7000;			
		DatagramSocket sUDPSocket=null;
		byte[] inBuffer=new byte[100];
		byte[] outBuffer=new byte[100];
		DatagramPacket inPacket,outPacket;
		int clientPort;
		String clientIP=null;
		String clientMsg=null;
		String sendMsg=null;
		//创建服务器的数据报套接字
		try{
			sUDPSocket=new DatagramSocket(sPort);
		}catch(SocketException e){
			System.out.println("创建数据报套接字失败.");
			System.exit(1);
		}
		//利用sUDPInSocket套接字接收客户端数据报
		try{
			inPacket=new DatagramPacket(inBuffer,inBuffer.length);
			sUDPSocket.receive(inPacket);
			clientIP=inPacket.getAddress().getHostAddress();
			clientPort=inPacket.getPort();
			clientMsg=new String(inPacket.getData());
			System.out.println("收到客户端"+clientIP+"发来的信息:"+clientMsg);
			//利用sUDPOutSocket套接字发送数据报给客户端
			sendMsg="服务器已收到信息:"+clientMsg;
			outBuffer=sendMsg.getBytes();
			outPacket=new DatagramPacket(outBuffer,outBuffer.length,inPacket.getAddress(),clientPort);
			sUDPSocket.send(outPacket);
		}catch(IOException e){
			System.out.println("与客户端"+clientIP+"进行数据收发时出现错误:"+e);
			sUDPSocket.close();
		}
		//关闭数据报套接字
		sUDPSocket.close();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?