udpserver.java
来自「java开发的网络方面的原代码例子」· Java 代码 · 共 73 行
JAVA
73 行
//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 + =
减小字号Ctrl + -
显示快捷键?