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

📄 timeserver.java

📁 完成登陆
💻 JAVA
字号:
import java.net.*;
import java.io.*;
import java.util.Date;


import java.util.GregorianCalendar;
import java.util.Calendar;

public class TimeServer {
  ServerSocket skt;
  public TimeServer(int port) {
    try{
      skt = new ServerSocket(port);
      while(true){
        //有新的连接请求到达时,accept返回一个新的socket.
        Socket con = skt.accept();
        //可以为每个客户的socket产生一个新的线程,本例中同时有多个连接请求到达,后面的必须排队。
        new RealService(con);
      }
    }
    catch(Exception e){
      System.err.println(e.getMessage());
    }
  }
  public static void main(String argc[]){
    //自己定义的服务不要使用熟知端口
    TimeServer ts = new TimeServer(2000);
  }
}
class RealService{
  RealService(Socket s) throws IOException{
    InputStream in = s.getInputStream();
    byte buf[] = new byte[100];
    in.read(buf);
    //String.trim()将后面的空格删除
    String command = new String(buf).trim();
    OutputStream os = s.getOutputStream();
    //java字符串比较的方法就是equals

    //时间
   if(command.equals(new String("time"))){
      Date d = new Date();
      Calendar calendar = new GregorianCalendar();
      calendar.setTime(d);
      String out =  calendar.get(Calendar.HOUR_OF_DAY) + ":" + calendar.get(Calendar.MINUTE) + ":" + calendar.get(Calendar.SECOND);
      //将字符串显示地转化为byte[]
      os.write(out.getBytes());
    }

    //日期
    else if(command.equals(new String("date")))
      {
        Date d = new Date();
      Calendar calendar = new GregorianCalendar();
      calendar.setTime(d);
      String out =  calendar.get(Calendar.YEAR) + ":" + calendar.get(Calendar.MONTH+1) + ":" + calendar.get(Calendar.DAY_OF_MONTH);
       //将字符串显示地转化为byte[]
      os.write(out.getBytes());
     }
      else{
      os.write(new String("Invalid command").getBytes());
      System.err.println("Unknown command : " + command);
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -