뭐 간단한 -_- 거지만 몇번 포트인지 모르는 분들이 제법 계셔서 함 올려봅니다.
ITS 의 경우 13번 포트가 사용 됩니다.
표준 시간을 얻어서 적용해야되는 경우 아래와 같이 타임 서버에서 값을 얻어서 쓸 수 있습죠.
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net.Sockets;
namespace NTP_CLIENT { class Program { static void Main(string[] args) { TcpClient tsc = new TcpClient("time-a.nist.gov", 13);
if (tsc.Connected) { NetworkStream ns = tsc.GetStream(); StreamReader sr = new StreamReader(ns); string sResult = sr.ReadToEnd().Trim();
Console.WriteLine(sResult); //서버에서 받은 결과
//공백으로 결과값을 나눠서 배열에 넣음. string[] saResult = sResult.Split(' ');
foreach (string s in saResult) { Console.WriteLine(s); } } else { Console.WriteLine("-_-; 연결 안됨"); } } } }
결과
일단 ITS 의 경우 시간/날짜는 tcp 13 번 포트를 이용해서 접속이 가능합니다.
NTP 기반일 경우 UDP 123 이나 텔넷 37 번이구요.
위의 형태로 받은 결과물을 소스처럼 공백으로 잘라내면 원하는 항목을 얻을 수 있습니다.
변수에 저장해서 클라이언트 쪽 시간/날짜 값 변경에 사용하시면 되겠죠.
즐프하세요.
ITS 리스트 : http://tf.nist.gov/tf-cgi/servers.cgi |
'Program > C#' 카테고리의 다른 글
C# WebBrowser 컨트롤의 로딩완료(DocumentCompleted) 알아내기 (0) | 2010.03.19 |
---|---|
C#으로 구현한 사이트 로그인 후 문서 가져오기 (0) | 2010.03.19 |
Delegate [대리자] 기본 개념과 사용법 (0) | 2010.03.07 |
닷넷 응용 프로그램의 설치 및 배포 #2 (0) | 2010.03.07 |
닷넷 응용 프로그램의 설치 및 배포 #1 (0) | 2010.03.07 |