2011-04-26 65 views
0

我在服务器和客户端之间有TCP/IP连接。连接建立后,服务器将开始向客户端发送大量数据。我遇到的问题是,如果连接速度很慢,在某些时候服务器将无响应。我想这是因为它正在缓冲等待已经发送的数据被确认的数据。C#套接字。在慢速连接上通过TCP/IP发送数据

在尝试发送数据以检查当前缓冲区的大小之前是否有办法,因此我知道在继续发送数据之前我应该​​等待?

谢谢。

这是我在做什么来发送数据:

System.Net.Sockets.Socket ClientSocket; 
... 
public void Send(byte[] data, int size) 
    { 
     try 
     { 
      SocketAsyncEventArgs e = new SocketAsyncEventArgs(); 
      e.SetBuffer(data, 0, size); 
      bool pending = ClientSocket.SendAsync(e); 
     } 
     catch (Exception ex) 
     { 

     } 
    } 

回答

0

我找到了解决办法。基本上我只应该发送数据时

ClientSocket.Poll(0, SelectMode.SelectWrite)是真的。

简单而有效!

相关问题