📄 udpserver.java
字号:
//UdpServer.java
import java.io.*;
import java.net.*;
import java.util.*;
public class UdpServer{
//这个函数得到当前服务器上的时间
public byte[] getTime(){
Date d= new Date();
return d.toString().getBytes();
}
//服务器的消息循环
public void go() throws IOException {
DatagramSocket datagramSocket;
//从客户端得到的数据包
DatagramPacket inDataPacket;
//向客户端发送的数据包
DatagramPacket outDataPacket;
//客户端返回的地址
InetAddress clientAddress;
//客户端返回的端口
int clientPort;
//下一个数据包
byte[] msg= new byte[10];
//存放得到的时间
byte[] time;
//在8000端口生成一个主套接字
datagramSocket = new DatagramSocket(8000);
System.out.println("UDP server active on port 8000");
// 循环等待
while(true) {
//设置接收到的数据包,数据将被忽略
inDataPacket = new DatagramPacket(msg, msg.length);
//接收数据
datagramSocket.receive(inDataPacket);
// 得到客户端的地址和端口
clientAddress = inDataPacket.getAddress();
clientPort = inDataPacket.getPort();
//得到当前时间.
time = getTime();
//设置要发送的数据包
outDataPacket = new DatagramPacket
(time, time.length, clientAddress, clientPort);
//最后,发送数据包
datagramSocket.send(outDataPacket);
}
}
//主函数
public static void main(String args[]) {
UdpServer udpServer = new UdpServer();
try {
udpServer.go();
} catch (IOException e) {
System.out.println ("IOException occured with socket.");
System.out.println (e);
System.exit(1);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -