我用winsock做了个聊天小程序 有服务端客户端 在本机上  正常运行  但我把客户端放在局域网中的一台机上运行 服务端在本机 就连接不上了 为什么呢?请教 

解决方案 »

  1.   

    这是客户端的代码::
    Private Sub Command1_Click()
    Winsockclient.SendData Textsend.Text
    End SubPrivate Sub Command2_Click()
    Winsockclient.Connect
    End Sub
    Private Sub Form_Load()
    Winsockclient.RemotePort = 1002
    Winsockclient.RemoteHost = Winsockclient.LocalIP
    End SubPrivate Sub winsockclient_DataArrival(ByVal bytesTotal As Long)
    Dim tmpstr As String
    Winsockclient.GetData tmpstr
    Textget.Text = tmpstr
    End Sub
    这是服务端的代码::Private Sub Form_Load()
    Winsockserver.LocalPort = 1002
    Winsockserver.Listen
    End SubPrivate Sub send_Click()
    Winsockserver.SendData textsend.Text
    End SubPrivate Sub Winsockserver_ConnectionRequest(ByVal requestID As Long)
    If Winsockserver.State <> sckClosed Then Winsockserver.Close
    Winsockserver.Accept requestIDEnd Sub
    Private Sub Winsockserver_DataArrival(ByVal bytesTotal As Long)
    Dim tmpstr As String
    Winsockserver.GetData tmpstr
    textget.Text = tmpstr
    End Sub
      

  2.   

    Winsockclient.RemoteHost = Winsockclient.LocalIP   '应该是服务器IP地址吧
      

  3.   

    IP 一般是IP 设置的问题吧
      

  4.   

    Winsockclient.RemoteHost = Winsockclient.LocalIP   这个地址必须设成服务端的地址.
    偶也搞过一个这样的东东.呵呵
      

  5.   

    假如服务电脑ip是192.168.0.254,那么客户端就应该是:Private Sub Command1_Click() 
    Winsockclient.SendData Textsend.Text 
    End Sub Private Sub Command2_Click() 
    Winsockclient.Connect 
    End Sub 
    Private Sub Form_Load() 
    Winsockclient.RemotePort = 1002 
    Winsockclient.RemoteHost = 192.168.0.254 
    End Sub Private Sub winsockclient_DataArrival(ByVal bytesTotal As Long) 
    Dim tmpstr As String 
    Winsockclient.GetData tmpstr 
    Textget.Text = tmpstr 
    End Sub 
      

  6.   

    Winsockclient.RemoteHost = Winsockclient.LocalIP 
    我晕/
      

  7.   

    Winsockclient.RemoteHost = Winsockclient.LocalIP 
    一看就知道找到代码,不看懂代码的人。好好学习,天天向上