我的一个程序需要大量的连接和断开,往往这个没确认断开好多个就提出连接请求了。于是用不了多久就会溢出。开始我用容错加延时的办法,后来实在是等不起。听说扫描器在这方面做的很出色,大家能不能提点经验?

解决方案 »

  1.   

    是的,一个人做工程量又太大,没用API。你知道怎么解决么?
      

  2.   

    先确定是不是有必要用TCP连接,没有必要的全都用UDP.必须用连接的话,可以试着用控件数组来建立多个连接,解决压力过大的问题。用控件数组来控制比较麻烦,而且占用系统资源比较多,但是可以试一试。
      

  3.   

    那时肯定的,因为用socket 建立连接占用大量的系统资源,所以你要建立控件数组的话,一定要及时释放资源,如果检测控件状态太浪费资源的话,你可以用一个对应的数组,在施放资源的时候顺便设定,那样可以减少资源的浪费。
      

  4.   

    那么你所说的释放资源是指winsock(x).close
    还是unload winsock(x)?
    还是其它的?
      

  5.   

    用控件组增加备用线程的方法仍会产生“没有可用的缓冲区”的错误,而且这时所有的网络交互程序都会时延等待释放资源。
    看来关键还在如何快速释放资源上,大家谁有什么建议么?
    any?
      

  6.   

    能把你的代码发给我吗?我可以学习学习,我一直没有弄明白你的意思。[email protected]