📄 timeserver.java
字号:
package udptimeserver;import java.net.*;import java.util.*;import java.io.*;import java.text.*;import javax.swing.text.*;/** * Title: 时钟服务程序 * Description: 这是一个使用用户数据报协议(UDP)实现的简单时钟服务器 * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */public class timeServer extends Thread { private int ServerPort=13; private DatagramSocket serverSocket=null; private boolean running=true; private JTextComponent outText=null; public timeServer(JTextComponent outComponent) { try{ outText=outComponent; serverSocket=new DatagramSocket(ServerPort); }catch(Exception e){ } } public timeServer(int newPort,JTextComponent outComponent) { try{ outText=outComponent; ServerPort=newPort; serverSocket=new DatagramSocket(newPort); }catch(Exception e){ } } public void setOutText(JTextComponent newComponent){ outText=newComponent; } public void run(){ outText.setText(outText.getText()+"时钟服务启动,端口为"+ServerPort+"\n"); while(running){ try{ byte[] buffer=new byte[1]; DatagramPacket dataPacket=new DatagramPacket(buffer,buffer.length ); serverSocket.receive(dataPacket); InetAddress clientAddress=dataPacket.getAddress(); int clientPort=dataPacket.getPort() ; buffer=getTime(); String strTime=new String(buffer); outText.setText(outText.getText()+strTime+" 向"+clientAddress.toString() +":"+clientPort+"发送数据报\n"); dataPacket=new DatagramPacket(buffer,buffer.length,clientAddress,clientPort ); serverSocket.send(dataPacket); }catch(IOException e){ } } serverSocket.close(); outText.setText(outText.getText()+"服务停止\n"); } private byte[] getTime(){ Date currentTime=new Date(); SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy MMMM dd,EEEE, HH:mm:ss"); String timeString=dateFormat.format(currentTime); return timeString.getBytes() ; } public void finalize(){ if(serverSocket!=null) serverSocket.close(); } public void stopServer(){ running=false; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -