Just a demo of Cristian's algorithm.
Sent Time = Remote Time - RTT / 2 Received Time = Remote Time + RTT / 2
Read the comments for details.
npm install socket.io nodejs server.js
MIT
A simple time sync server