一、通过向某网站发送请求,获取服务器响应请求的时间
二、获某时间网页的html或xml码,读取其中的时间。
三、通过向某授时服务器发送请求,获取网络时间
我把这些方法封装到了一个类库里了。
我的确是用Stream来处理啊,我启一个线程,不断的接收数据,代码片断:
while (!blnStop)
{
if (stream.CanRead)
{
byte[] bytes=new byte[tcpClient.ReceiveBufferSize];
if (stream.DataAvailable==true)
{
int intCount=stream.Read(bytes, 0, (int)tcpClient.ReceiveBufferSize);
this.lblReceiveCount.Text =Convert.ToString(Convert.ToInt16(this.lblReceiveCount.Text) +1);
Console.WriteLine(System.Text.Encoding.ASCII.GetString(bytes,0,intCount)+"\n");
}
}
}
我发现主机在20秒内发送了1000笔数据,而我实际接收了40次,花了2分钟,数据似乎没有丢失.
但是主机是时时刻刻在发送的,接收速度至少要和它的发送速度相当吧.