Вы понимаете, что в запросе от удаленного сервера есть задержка (даже если он такой же маленький, как, скажем, 5 мс), и что иногда, из-за этой задержки, в момент, когда вы фиксируете текущее время компьютера, секунда может бытьотличается от серверного.
Из-за этого прямое сравнение часов, минут и т. д. иногда может дать сбой, независимо от того, что вы делаете.Дело не в том, что код работает недостаточно быстро.
Вместо этого попробуйте сравнить временную метку, полученную с удаленного сервера, с временем локального компьютера, +/- 30 мс или с любым другим допустимым временем ожидания.be.
Возможно, вам будет интересно узнать, как это рассматривается в протоколе сетевого времени: протокол сетевого времени