如何提高TcpClient的接收频率

2024-11-09 02:06:13
推荐回答(2个)
回答(1):

一、通过向某网站发送请求,获取服务器响应请求的时间
二、获某时间网页的html或xml码,读取其中的时间。
三、通过向某授时服务器发送请求,获取网络时间
我把这些方法封装到了一个类库里了。

回答(2):

我的确是用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分钟,数据似乎没有丢失.
但是主机是时时刻刻在发送的,接收速度至少要和它的发送速度相当吧.