我在VB6中用Winsock做了Server & Client两个软件,希望在本地进行信息传输。第一次连接正常,但是在第二次连接时总是提示“错误10048,地址正在使用”,不知怎么解决,望赐教!谢谢! 

解决方案 »

  1.   

    第二次连接时先close
    然后在连接
    需要双方都close
    检测状态
      

  2.   

    服务器的
    Private Sub Command1_Click()
    Dim trstr As String
    trstr = Text2.Text & Chr(13) + Chr(10)
    Winsock1.SendData trstrEnd SubPrivate Sub Form_Load()
    Text3.Text = Winsock1.LocalIP
    Winsock1.BindWinsock1.ListenEnd SubPrivate Sub Form_Unload(Cancel As Integer)
    Winsock1.Close
    End SubPrivate Sub Winsock1_Close()
    Winsock1.Close
    MsgBox "dsdsdsdsdsds"
    Unload Me
    End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    If Winsock1.State <> 0 Then Winsock1.Close
    Winsock1.Accept requestID
    MsgBox "有客户请求!"End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim ss As String
    Winsock1.GetData ss, vbStringText1.Text = Text1.Text & ss & Chr(13) + Chr(10)
    End Sub
    客户端的
    Private Sub Command1_Click()
    If Winsock1.State <> 0 Then Winsock1.Close
    Winsock1.RemoteHost = Text1.Text
    Winsock1.RemotePort = CLng(Text2.Text)
    'Winsock1.Bind CLng(Text2.Text)
    Winsock1.Connect
    End SubPrivate Sub Command2_Click()
    Winsock1.SendData Text3.TextEnd SubPrivate Sub Form_Load()
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""End SubPrivate Sub Form_Unload(Cancel As Integer)
    Winsock1.Close
    End SubPrivate Sub Winsock1_Close()
    MsgBox "as"
    Winsock1.Close
    MsgBox "123"End SubPrivate Sub Winsock1_Connect()
    If Winsock1.State <> 0 Then
    MsgBox "连接成功!"
    Else
    MsgBox "连接失败!"
    End If
    End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim gresult As String
    Winsock1.GetData gresult, vbString
    Text4.Text = gresult
    End SubPrivate Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox "error!" & CStr(Number)
    End Sub
      

  3.   

    在第二次连接时总是提示“错误10048,地址正在使用”,不知怎么解决说明同一ip的两次bind同一端口。