客户端无法使用Java从服务器获取日期

问题描述

我正在编写代码以获取服务器到客户端的日期。但是当我跑步时,结果是null
我不明白为什么,从服务器到客户端的格式化日期也很麻烦。

我可以同步时钟,但不能同步日期。
我需要帮助:我想从服务器同步客户端上的日期和时钟

服务器:

public class ServerDemo{
public static void main(String []args) throws IOException{
    ServerSocket s = new ServerSocket(50555);
    int server_timeout = 10000;
    s.setSoTimeout(server_timeout);
    displayBanner();
    System.out.println("|\n|-Server is running...");

    try{
        while(true){
            Socket  s1 = s.accept();
            System.out.println("|\n|-Connection Received : " + s1);
            BufferedWriter dos = new BufferedWriter(new OutputStreamWriter(s1.getOutputStream()));
            
            SimpleDateFormat outDate = new SimpleDateFormat("dd/MM/yyyy");

            //DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
            
            Date dt = new Date();
            System.out.println("    |\n    |-Sent to client :  " + dt);
            dos.write(outDate.format(dt) + " ");
            //dos.writeChars(timeFormat.format(dt) + '\n');

            System.out.println("    |\n    |-Connection Terminated : " + s1);
            s1.close();
            dos.close();
            
        }
    } catch(SocketTimeoutException e){
        System.out.println("|\nTerminating server due to timeout...");
        System.out.println("Server is terminated!");
        s.close();
    }
    
}


    System.out.println("[+]--Clock Synchronization Server v1.0.1--- initializing...");
}

客户

public class ClientDemo{
public static void main(String []args) throws Exception{
    
    Socket s = new Socket("192.168.1.190",50555);

    BufferedReader InFromServer = new BufferedReader(new InputStreamReader(s.getInputStream()));
    BufferedWriter OutToServer = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
    
    String date = InFromServer.readLine();
    System.out.println(date);
    
    /*
    DateFormat Format = new SimpleDateFormat("dd/MM/yyyy");
    //parse the data from the server
    Date serverDate = Format.parse(date);
    //format the server for the Runtime commands
    DateFormat newFormatDate = new SimpleDateFormat("dd-MM-yy");
    String sysdate = "" + newFormatDate.format(serverDate);
    System.out.println(sysdate);
    */
    
    InFromServer.close();
    s.close();
    
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)