最近刚接触到java网络编程方面的问题,做作业的时候老师提供了一道加分题,有大师能解惑下吗?最好能有sample code看下,或者提供下思路谢谢。
题目如下:
Your task is to implement a Time-of-day server that tells clients the actual date and time
The format of the server's message is hour:minute:second day:month:year Each client should display the received message(time value) on the screen.
Multicast protocol:
Bonus section:
It can take quite some time until the server's time message reaches individual clients.To improve accuracy,clients should be able to adjust the time value received via multicast and compensate for netword latency. Implement a method that estimates the time shift(delay of the message from server to that client )for each client.
大意是写一个客户端向服务器求时间的java,其中有个加分为校准时间,客户端到服务器再传回中间有delay,因此我理解为计算中间的延迟时间,然后加回到求到的时间上,然后print出。但是因为是加分题,老师没给任何这方面的信息所以求大鸟帮助。
------解决方案--------------------
我给个思路:
客户端先连接到服务器端
服务器返回一个时间给客户端,客户端收到这个时间后将这个时间立马传给服务端
服务端收到这个时间后,根据现在的时间,算出延时时间,然后将延时时间和当前时间一起发给客户端
客户端根据延时和当前时间算出准确的时间