📄 udpserverdemo.java
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -