我用Winsock控件编写网络聊天程序,当客户端Close之后,再次执行Connect方法时出现Winsock_Error错误,提示是“Address in use”。重新启动程序也不行,必须重新启动机器才可以,怎么办?

解决方案 »

  1.   

    Private Sub SockServer_Close(Index As Integer)
    SockServer.Close
    SockServer.Listen
    End Sub
      

  2.   

    在窗体关闭时也应该关闭连接。
    Sub Form_Unload(Cancel As Integer)
    SockServer.Close
    End Sub
      

  3.   

    服务端
    Private Sub Winsock1_Close(Index As Integer)    Winsock1(Index).Close
        Unload Winsock1(Index)
        Load Winsock1(Index)
    End Sub
      

  4.   

    不是啊!
    我只有一个客户端和一个服务器端,客户端和服务器端都已经执行了close操作,可是还不行。高手继续啊!
      

  5.   

    你不应该由客户端关闭端口,而应该由服务器端关闭端口。你可以试一下下面的代码:客户端:
    http://www.applevb.com/sourcecode/vb_client.zip服务器端:
    http://www.applevb.com/sourcecode/vb_server.zip