客户& VB.Net中的服务器信使

时间:2015-05-18 09:15:13

标签: vb.net client-server

服务器代码

Private Function s_state(state As Integer)
    Select Case state
        Case 0
            s_state = "close"
        Case 1
            s_state = "open"
        Case 2
            s_state = "listening.."
        Case 6
            s_state = "connecting.."
        Case 7
            s_state = "connected.."
        Case 9
            s_state = "error"
        Case Else
            s_state = "close"
    End Select
End Function

Private Sub command3_click()
    socks.Close
    Text3.Text = s_state(socks.state)
End Sub

Private Sub command1_click()
    If socks.state = sckConnected Then
        socks.SendData Text1.Text
        Text3.Text = s_state(socks.state)
    Else
        MsgBox ("error...disconnect")
    End If
End Sub

Private Sub Form1_Load()
    socks.Close
    socks.Protocol = sckTCPProtocol
    socks.Listen
    Text3.Text = s_state(socks.state)
End Sub

Private Sub Command4_Click()
    If socks.state = sckClosed Then
        socks.Listen
    Else
        socks.Close
    End If
    Text3.Text = s_state(socks.state)
End Sub

Private Sub socks_ConnectionRequest(ByVal requestID As Long)
    If socks.state = sckListening Then
        socks.Acceptrequest id
        Text3.Text = "coonect to" & socks.RemoteHostIP
    End If
End Sub

Private Sub socks_DataArrival(ByVal bytesTotal As Long)
    Dim data As String
    socks.GetData data
    Text2.Text = data
    Text3.Text = s_state(socks.state)
End Sub

客户代码

Private Sub Command1_Click()
    sockc.Protocol = sckTCPProtocol
    sockc.RemoteHost = Text4.Text
    sockc.RemotePort = Text5.Text
    Command3.Enabled = True
    Command4.Enabled = True
    Text3.Enabled = False
    Text4.Enabled = False
    Text5.Enabled = False
    Command5.Visible = True
    Command1.Visible = False
End Sub

Private Sub Command2_Click()
    If sockc.state = sckConnected Then
        sockc.SendData Text1.Text
        Text3.Text = s_state(sockc.state)
    Else
        MsgBox ("error...disconnect")
    End If
End Sub

Private Sub Command3_Click()
    sockc.Close
    Text3.Text = s_state(sockc.state)
End Sub

Private Sub Command4_Click()
    If sockc.state = sckClose Then
        sockc.Connect
    Else
        sockc.Close
    End If
    Text3.Text = s_state(sockc.state)
End Sub

Private Sub Command5_Click()
    Command3.Enabled = False
    Command4.Enabled = False
    Text4.Enabled = True
    Text5.Enabled = True
    Command1.Visible = True
    Command5.Visible = False
End Sub

Private Sub Form1_Load()
    Command5.Visible = False
    Text3.Text = s_state(sockc.state)
End Sub

Private Function s_state(state As Integer)
    Select Case state
        Case 0
            s_state = "close"
        Case 1
            s_state = "open"
        Case 2
            s_state = "listening.."
        Case 6
            s_state = "connecting.."
        Case 7
            s_state = "connected.."
        Case 9
            s_state = "error"
        Case Else
            s_state = "close"
    End Select
End Function

Private Sub sockc_DataArrival(ByVal bytesTotal As Long)
    Dim data As String
    sockc.GetData data
    Text2.Text = data
    Text3.Text = s_state(sockc.state)
End Sub

这些代码适用于客户和服务器信使但无法找到服务器的IP。为什么这些代码不起作用,为什么它无法连接到服务器?

0 个答案:

没有答案