Click here to Skip to main content
Click here to Skip to main content

Connecting To A Network Time Server

, 11 Jul 2008 CPOL
Rate this:
Please Sign up or sign in to vote.
This simple article explains how to connect to a network time server


This article is a very simple introduction to the Network Time Protocol. It explains briefly how you can synchronize your applications with a time from a Network Time Server. NTP provides a reliable way of synchronizing time on IT networks. NTP is present on virtually all computers and allows systems to synchronize their clocks with a time source over the TCP/IP networks.

On a Windows operating system, you can synchronize your system clock with Alternatively you can enter a Network Time Server of your choice.

There are Network Time Servers all around the world, some are publicly accessible and are mainly setup in university institutions. Network Time Servers are mainly over UDP listening on port 123. Microsoft's Internet Time server uses UDP on port 123.

The following code connects to on port 13. This Network Time Server uses TCP. The server is located in Norway.

    TcpClient NTS = new TcpClient("", 13); 

    if (NTS.Connected) 

catch (Exception E) 
    //Not Connected 

Once connected to the Network Time Server, the server will respond with the date and time. The following code sets up a NetworkStream and a StreamReader to read data from the server.

NetworkStream ns = NTS.GetStream(); 
StreamReader sr = new StreamReader(ns); 
string Response = sr.ReadLine();

The server will respond with a message like the following:

Sun Mar 3 22:04:24 2007

We can extract the time from the response by using the split method. The following code splits the response from the server and stores the data into an array variable.

static void ProcessResponse() 
    string[] splitRes = Response.Split(' '); 
    strDate = splitRes[0]; 
    strMonth = splitRes[1]; 
    intDate = int.Parse(splitRes[3]); 
    strTime = splitRes[4]; 
    strYear = splitRes[5]; 


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Syed M Hussain
Web Developer
United Kingdom United Kingdom
No Biography provided

Comments and Discussions

Questionsalam Pinmemberarastoooo5-Sep-11 14:15 
GeneralAlternative approach Pinmemberdjlove14-Jul-08 23:19 
GeneralI updated your TimeServer code PinmemberPawJershauge23-Sep-07 23:40 
GeneralRe: I updated your TimeServer code PinmemberLechuss24-Sep-07 22:19 
This code is better - no problem with polish windows xp.
GeneralRe: I updated your TimeServer code Pinmembercspinelive4-Aug-08 11:42 
GeneralMinor error Pinmembernarsyseth5-Mar-07 5:04 
GeneralRe: Minor error PinmemberSyed M Hussain5-Mar-07 5:55 
GeneralRe: Minor error Pinmembernarsyseth5-Mar-07 5:57 
QuestionWhy don't use DateTime.Parse? PinmemberChristian Klauser4-Mar-07 9:54 
AnswerRe: Why don't use DateTime.Parse? PinmemberPawJershauge23-Sep-07 23:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.150327.1 | Last Updated 11 Jul 2008
Article Copyright 2007 by Syed M Hussain
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid