请教各位高手,下面的问题怎么解决?
我写了一个程序,主要用于与服务器建立多个Socket连接,单个Socket连接时,发送和接受数据都很正常。但是在建立多个连接,采用异步发送和接收,会出现“由于目标机器积极拒绝,无法连接”的错误。刚开始我怀疑是连接过多,然后服务器直接拒绝了。但是后来发现建立相同数目的连接时,有时候会出现该错误,有时候不会出现该错误。

解决方案 »

  1.   

    你在服务器端用AcceptSocket()方法接收的时候它产生的socket套接字没有被释放,一直被第一个客户端占用着,所以无法接收后面的客户端,解决办法就是用个while循环一直监听,每当有客户端连接来的时候就创建一个线程去做于当前客户端有关的收发数据,你以前就是这么解决的;
      

  2.   

    由于当前Socket打开的链接正在使用,无法响应再次链接。有时候出有时候不出就说明有时候能连接有时候不能链接你可以让打开端口的线程顺序执行或者为不同的请求打开不同的连接。
      

  3.   

    http://www.cnblogs.com/furenjun/archive/2007/05/15/socketconnectionerror.html
      

  4.   

    这个问题很常见。仔细调试一下。在多线程或者是异步的时候,注意代码重用的情况发生。需要的时候,sleep一下
      

  5.   

    目标主机积极拒绝是因为你服务端在监听,但是没有Accept连接请求,你看看服务端的程序,检查一下,最简单的方法,调试看看,或者在关键的地方设置断点。