我用vb做了一个点对点的聊天程序,客户端的代码如下
     Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Connect
Case 1
Winsock1.SendData Text2
Text1 = Text1 & Chr(13) + Chr(10) & "客户端:" & Text2
Text2 = ""
Case 2
Winsock1.Close
End
End Select
End Sub
Private Sub Form_Load()
Winsock1.RemoteHost = "20100616-1526."'这是我的计算机名
Winsock1.RemotePort = 2000
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim a As String
Winsock1.GetData a
Text1 = Text1 & Chr(13) + Chr(10) & "服务器:" & a
End Sub
服务器的代码为:
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Listen
Case 1
Winsock1.SendData Text2
Text1 = Text1 & Chr(13) + Chr(10) & "服务器:" & Text2
Text2 = ""
Case 2
Winsock1.Close
End
End Select
End Sub
Private Sub Form_Load()
Winsock1.LocalPort = 2000
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sclclosed Then Winsock1.Close
Winsock1.Accept requestID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim a As String
Winsock1.GetData a
Text1 = Text1 & Chr(13) + Chr(10) & "客户端:" & a
End Sub
为什么在我自己的机器上可以连接上,
当把客户端的应用程序按到别的机器上是就不能连接了?
请教高手指点!
在线等........

解决方案 »

  1.   

    客户端已经安装成功并且winsock 的状态为已经连接,可服务器没什么响应
      

  2.   

    客户端已经安装成功并且winsock 的状态为已经连接,可服务器没什么响应
      

  3.   

      Private Sub Command1_Click(Index As Integer)
    Select Case Index
    Case 0
    If Winsock1.State <> sckClosed Then Winsock1.Close
    Winsock1.Connect
    Case 1
    Winsock1.SendData Text2
    Text1 = Text1 & Chr(13) + Chr(10) & "客户端:" & Text2
    Text2 = ""
    Case 2
    Winsock1.Close
    End
    End Select
    End Sub
    Private Sub Form_Load()
    Winsock1.RemoteHost = "20100616-1526."'这是我的计算机名
    Winsock1.RemotePort = 2000
    End Sub
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim a As String
    Winsock1.GetData a
    Text1 = Text1 & Chr(13) + Chr(10) & "服务器:" & a
    End Sub
    服务器的代码为:
    Private Sub Command1_Click(Index As Integer)
    Select Case Index
    Case 0
    If Winsock1.State <> sckClosed Then Winsock1.Close
    Winsock1.Listen
    Case 1
    Winsock1.SendData Text2
    Text1 = Text1 & Chr(13) + Chr(10) & "服务器:" & Text2
    Text2 = ""
    Case 2
    Winsock1.Close
    End
    End Select
    End Sub
    Private Sub Form_Load()
    Winsock1.LocalPort = 2000
    End Sub
    Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
    If Winsock1.State <> sclclosed Then Winsock1.Close
    Winsock1.Accept requestID
    End Sub
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim a As String
    Winsock1.GetData a
    Text1 = Text1 & Chr(13) + Chr(10) & "客户端:" & a
    End Sub
      

  4.   

    不好意思:14楼的代码我给您重发了一下,方便看代码!呵呵!没看出代码有什么问题!不过,我倒是可以提醒一下:您所说的外面的连不上,可能是关系到了“内网IP”与“外网IP”的问题了,应该没错,查查这方面的资料吧!