在调试过程中,我已经调通了相互的通信,但是我关闭程序后要重新启动计算机才能恢复正常通信。高手请问是什么原因

解决方案 »

  1.   

    在senddata 的时候报的错误是 40006 所需事物或请求的错误协议或连接状态
      

  2.   

    那是你实现连接的方法不对
    一个Winsock(TCP)关闭后并不真正关闭,而是要等待一段时间,大约4分钟(也可能更长),你就不能连接回原来的端口
    你应在服务器上弄两个Winsock(Winsock1\Winsock2),一个(Winsock1)专门侦听,另一个把RemoteIP(还是LocalIP,我不记得了)设成0,Index设成0
    然后在侦听的Winsock的Connect_Request事件里写
    Winsock2(n).accept(RequestID)
      

  3.   

    断开连接的时候要服务器端close
    实在不行服务器断开连接前发送一个例如“EXIT”的东西,然后doevents,close。客户端受到后再close
      

  4.   

    服务器端用winsock数组,动态的加载和协作,winsock(0)永远用来侦听。按 VirtualDesktop(吴滂) 说的做吧。
      

  5.   

    晕,好久没来了,帖子不能修改的啊。
    服务器端用一个winsock数组就可以了,没必要用两个哦。
      

  6.   

    好象退出程序前要先断开和服务器的连接的,加一段试试
    Private Sub SockServer_ConnectionResquest(ByVal requestID As Long)
       '判断服务器不关闭时接受连接请求
       If SockServer.State<>sckClosed Then SockServer.Close
          SockServer.Accept requestID
    End Sub