I'm looking for a way to synchronize time between clients with a good precision (let's say 0.5 seconds at least).
I exclude using jsontime or exploiting timestamp in server response headers due to a poor precision (a second or maybe less).
UPDATE:
It should work even with mobile connections. It's not unfrequent (e.g. here in Italy) that 3G connections itself have a round trip time around 0.5s, so algorithm has to be robust.