2、P2P开发历程之——vb6之P2P简单实现(服务端)


1、服务端

一个FORM,4个textbox:text1,text2.text3.text4,一个richtextbox:rText1,两个winsock控件:WskMsgRcv,WskMsgSend

为测试方便,服务端限定了两个客户端的登录名为:"aaaa"和"bbbb"

 

Private Sub Form_Load()
    WskMsgRcv.Protocol = sckUDPProtocol '专门用于普通信息的接收
    WskMsgRcv.Bind 4179
    WskMsgSend.Protocol = sckUDPProtocol '专门用于普通信息的发送
    
End Sub

Private Sub WskMsgRcv_DataArrival(ByVal bytesTotal As Long)
    Dim tMsg As String
    Dim Cells() As String
    Dim tempIP As String
    Dim tempPort As String
    
    WskMsgRcv.GetData tMsg
    
    
    Cells = Split(tMsg, "|")
    
    Select Case Cells(0)
        Case "login" '格式:login,name
            tempIP = WskMsgRcv.RemoteHostIP
            tempPort = WskMsgRcv.RemotePort
            If Cells(1) = "aaaa" Then
                Text1.Text = tempIP
                Text2.Text = tempPort
            End If
            If Cells(1) = "bbbb" Then
                Text3.Text = tempIP
                Text4.Text = tempPort
            End If
        If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" And Text4.Text <> "" Then sendReady '如果双方都登录,则发送READY通知
            
            
        Case "beats" '格式:beats,name
            
    End Select
    
    
    rText1.Text = rText1.Text + tMsg + vbCrLf
    
End Sub

Private Sub sendReady()

    WskMsgSend.RemoteHost = Text1.Text  '设置发送控件IP
    WskMsgSend.RemotePort = Text2.Text '设置发送控件端口
    WskMsgSend.SendData "server|ok|" & Text3.Text & "|" & Text4.Text
    
    DoEvents
    WskMsgSend.RemoteHost = Text3.Text  '设置发送控件IP
    WskMsgSend.RemotePort = Text4.Text '设置发送控件端口
    WskMsgSend.SendData "server|ok|" & Text1.Text & "|" & Text2.Text
    
End Sub

 


2、客户端见下篇《3、P2P开发历程之——vb6之P2P简单实现(客户端)》

你可能感兴趣的:(VB6开发P2P)