def _internal_send_packet(server, port, version, packet=None): if not packet: packet = NTPPacket(transmit=time.time() + NTPClient.FORMAT_DIFF) answer = NTPPacket(version_number=version) with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s: s.settimeout(NTPClient.WAITING_TIME) s.sendto(packet.pack(), (server, port)) data = s.recv(48) arrive_time = time.time() + NTPClient.FORMAT_DIFF answer.unpack(data) return answer, arrive_time