在一个处于listen状态的套接字上等待连接,然后建立一个线程接收数据,开始可以接收到。在不停的连接-接收-断开连接一段时间后,会出现接收错误10022,说连接尚未建立,此后的所有recv都返回该错误。将程序关闭后在打开,又可以顺利执行。
哪位高手能帮我解释一下,该怎么解决,高分送上,up,gz也给分。

解决方案 »

  1.   

    缓冲区满了
    用setsockopt设置
      

  2.   

    我想是不是一些控件的BUG,你用的是不是serversocket控件?serversocket控件在delphi7中不提供了,我正在为此苦恼!
      

  3.   

    toqiandeng(千灯) 
    缓冲区满了?流传送的缓冲区有多大?我每次recv最多能接收到17240字节这样。我想当发送过来的数据接收后,应该自动清空缓冲区的。而且我是在recv时出错,就算缓冲区满哪也能收到数据,而不应该报错啊!用setsockopt设置缓冲区大小,难道在初始化时设置一次不够吗,还需要在程序中随时更动??