/// <summary>
/// 获得服务器的时间
/// </summary>
/// <returns></returns>
private DateTime GetRemoteServerTime()
{
DateTime official, localtime = DateTime.Now;
string returndata = null;
string[] dates = new string[4];
string[] times = new string[4];
string[] tokens = new string[11];
TcpClient tcpclient = new TcpClient();
try
{
while (!tcpclient.Connected)
tcpclient.Connect(IPAddress.Parse("203.117.180.36"), 13);
NetworkStream networkStream = tcpclient.GetStream();
if (networkStream.CanWrite && networkStream.CanRead)
{
Byte[] sendBytes = Encoding.ASCII.GetBytes("Hello ");
networkStream.Write(sendBytes, 0, sendBytes.Length);
byte[] bytes = new byte[tcpclient.ReceiveBufferSize];
networkStream.Read(bytes, 0, (int)tcpclient.ReceiveBufferSize);
returndata = Encoding.ASCII.GetString(bytes);
}
tcpclient.Close();
}
catch (Exception excep)
{
MessageBox.Show(excep.ToString());
}
if (returndata != null)
{
tokens = returndata.Split(' ');
dates = tokens[1].Split('-');
times = tokens[2].Split(':');
official = new DateTime(Int32.Parse(dates[0]) + 2000, Int32.Parse(dates[1]), Int32.Parse(dates[2]),
Int32.Parse(times[0]), Int32.Parse(times[1]), Int32.Parse(times[2]));
localtime = TimeZone.CurrentTimeZone.ToLocalTime(official);
}
return localtime;
}
/// 获得服务器的时间
/// </summary>
/// <returns></returns>
private DateTime GetRemoteServerTime()
{
DateTime official, localtime = DateTime.Now;
string returndata = null;
string[] dates = new string[4];
string[] times = new string[4];
string[] tokens = new string[11];
TcpClient tcpclient = new TcpClient();
try
{
while (!tcpclient.Connected)
tcpclient.Connect(IPAddress.Parse("203.117.180.36"), 13);
NetworkStream networkStream = tcpclient.GetStream();
if (networkStream.CanWrite && networkStream.CanRead)
{
Byte[] sendBytes = Encoding.ASCII.GetBytes("Hello ");
networkStream.Write(sendBytes, 0, sendBytes.Length);
byte[] bytes = new byte[tcpclient.ReceiveBufferSize];
networkStream.Read(bytes, 0, (int)tcpclient.ReceiveBufferSize);
returndata = Encoding.ASCII.GetString(bytes);
}
tcpclient.Close();
}
catch (Exception excep)
{
MessageBox.Show(excep.ToString());
}
if (returndata != null)
{
tokens = returndata.Split(' ');
dates = tokens[1].Split('-');
times = tokens[2].Split(':');
official = new DateTime(Int32.Parse(dates[0]) + 2000, Int32.Parse(dates[1]), Int32.Parse(dates[2]),
Int32.Parse(times[0]), Int32.Parse(times[1]), Int32.Parse(times[2]));
localtime = TimeZone.CurrentTimeZone.ToLocalTime(official);
}
return localtime;
}