⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udpserver.java

📁 JAVA网络学习例题
💻 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 + -