TAG Visual Basic, 표준시간, 타임 서버, PC 시간 설정, NTP, RFC 2030
인터넷 연결이 가능한 PC라면 공개 타임 서버를 이용해서 PC 시간을 표준시간으로 동기화 시킬 수 있다 NTP(The Network Time Protocol), 타임서버, 표준시간 등에 대한 설명은 이 문서 마지막의 사이트를 참고하면 된다. [소켓을 이용한 서버 연결] ' NTP(Version4)는 포트번호 123, UDP 프로토콜을 이용한다. ' NTP Server (http://time.ewha.net/#public_time_server 참고) ' - ntp.ewha.net (이대부속 초등학교) ' - time.windows.com (MS) Winsock1.Protocol = sckUDPProtocol Winsock1.RemoteHost = "ntp.ewha.net" Winsock1.RemotePort = 123 Winsock1.Bind
[요청 전문 전송] Dim NTPHeader(47) As Byte NTPHeader(0) = &HB Winsock1.SendData NTPHeader ' 요청 시간 T1 = GetUTC [표준 시간 계산] T4 = GetUTC Winsock1.GetData sData Winsock1.Close ' 표준시간은 RFC 2030에 명시된 공식에 의해 계산되었습니다. For i = 0 To 7 bytTimeStamp(i) = sData(32 + i) Next T2 = GetTimeStampToUTC(bytTimeStamp) bytTimeStamp(i) = sData(40 + i) T3 = GetTimeStampToUTC(bytTimeStamp) d = (T4 - T1) - (T2 - T3) t = ((T2 - T1) + (T3 - T4)) / 2 CurrTime = t + GetUTC tmpDate = DateAdd("s", Int(CurrTime) - 2145830400, #1/1/1968#) st.wMilliseconds = CInt((CurrTime - Fix(CurrTime)) * 1000)
다른곳으로의 배포시 원본 출처를 명시해주시기 바랍니다. 작성자 : 제 용 재 (182cm@kroea.com) 『관련 사이트』 NTF Home ; http://www.ntp.org RFC 2030 (SNTP Version4) ; http://www.faqs.org/rfcs/rfc2030.html RFC 1305 (NTP Version3) ; http://www.faqs.org/rfcs/rfc1305.html 이대부속 초등학교 타임서버 ; http://time.ewha.net ; PC와 서버의 표준 시각 설정법 및 시간 관련 많은 설명 SNTP VB 참고 소스 ; http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=57675&lngWId=1 ; http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=57339&lngWId=1 다른곳으로의 배포시 원본 출처를 명시해주시기 바랍니다. http://www.EnjoyDev.com/blog/42 작성자 : 제 용 재 (182cm@kroea.com)
『첨부파일』 PDF문서 RFC 1305 문서 (NTP Version3) RFC 2030 문서 (SNTP Version4) 압축파일 VB 예제 프로그램의 프로젝트 소스 코드 실행파일 VB 예제 프로그램의 실행 파일 비고 설명 파일