2017. 4. 7. 15:14

파이썬에서 SNTP로 인터넷에서 현재시간 얻어오기

앞서 사용했던 nptlib라는 외부 라이브러리 없이 SNTP라는 프로토콜을 이용하여 인터넷 시간서버에서 현재시간을 가져오는 코드 구현입니다.

UDP로 소켓 접속을 하고, 프로토콜 데이터 '\x1b' + 47 * '\0'를 패킷에 담아 전송하는데 여기에는 sendto()와 recvfrom() 메써드를 이용해서 데이터를 주고 받습니다. TIME1970은 기준 시간이고, 시간 서버에서 가져온 값에서 이걸 빼줘야 정확한 현재 시간이 나옵니다.  받아온 값은 패킹되어 있으므로 이걸 언팩해줘야 됩니다.