延迟从gprs连接接收数据

时间:2011-06-16 22:11:50

标签: c# networkstream

我正在用C#编写解析器。它接收并发送一个max length = 100的数据包。但是,每个数据包之间(接收和发送)之间的时间超过2秒。我不知道这是我的实施问题还是gprs方面的问题。

服务器监听:

tcpListener = new TcpListener(IPAddress.Any, Names.comPort);
tcpListener.Server.NoDelay = true;

while (true)
{
    TcpClient client = tcpListener.AcceptTcpClient();

    Thread th = new Thread(new ParameterizedThreadStart(HandleComm));
    th.IsBackground = true;
    th.start(client);
}

开始接收数据:

HandleComm(object client)
{
 NetworkStream clientStream = ((TcpClient)client).GetStream();

 while (true)
 {
     try { bytesRead = clientStream.Read(buffer, 0, 200);}
     catch(Exception ex) {break;}        
 }
}

这是一个简单的实现,当我收到第一个数据包的bytesRead时,与第二个数据包相比,大约是2s。我觉得这太慢了。我怎么能增加收货时间?我在收到数据并回复后已经检查过,只花了1毫秒。

添加发送部分:

socket.NoDelay = true;
socket.SendTimeout = 200; // minimum time out
socket.SendBufferSize = bytes.Length;

socket.Send(bytes, SocketFlags.DontRoute);

0 个答案:

没有答案