当前位置:编程学习 > VB >>

关于vb udp远程连接问题

控制端代码:
Private Sub cmd_connect_Click()
    Dim my As String
    my = SockServer.LocalIP
    SockClient.Connect my, RemotePort
    
End Sub

Private Sub Command1_Click()
 '发送命令
    Dim MySendData As String  '定义MYsenddata来发送你的控制命令其实就是文本而已`为什么只发送文本下面才告诉你`
    MySendData = txt_send.Text
    SockClient.SendData MySendData
    txt_send.Text = ""
End Sub

Private Sub cmd_end_Click()
'发送退出请求
    End
End Sub



Private Sub SockClient_Close()
Me.SockServer.RemotePort = 1001 '服务端要连接的端口  作为一个远程控制的你就需要有1~2个端口来进行通信`一个收`一个发`
Me.SockServer.LocalPort = 1002  '服务端占用1002端口  这里的意思是`把我的SOCKServer控制的端口设置为1002
End Sub

Private Sub SockClient_Connect()
    MsgBox "连接成功", vbInformation, "网络连接"
    '使连接按钮无效,避免错误
   cmd_connect.Enabled = False    '这里判断连接是否成功
End Sub

Private Sub SockServer_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)
 '出错后关闭SockClient
    SockClient.Close
    '错误退出控件
End Sub

Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
    '判断服务器不关闭时接受连接请求
    If SockServer.State <> sckClosed Then SockServer.Close
        SockServer.Accept requestID
End Sub



受控端代码:
Private Sub Form_Load()
'启动端口监听  程序一开就启动监听1002端口`看看有没数据过来
 
    SockServer.Listen
  
    Me.SockClient.LocalPort = 1002  '客户端占用1002端口

    Me.SockClient.RemotePort = 1001 '连接的远程1001端口
End Sub

Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
    '判断服务器不关闭时接受连接请求
    If SockServer.State <> sckClosed Then SockServer.Close
        SockServer.Accept requestID
End Sub

Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)
    Dim MyGetData As String
    '得到数据   如果控制端发送来的数据收到了`就放在txt_get.text里面
    SockServer.GetData MyGetData
    If MyGetData = "OPEN" Then   '请求标志   这里是过程
        SockServer.Close
        SockServer.Listen
    End If
    txt_get.Text = MyGetData
    'txt_get.Text = txt_get.Text & Chr(13) & Chr(10) & MyGetData
End Sub

Private Sub Timer1_Timer()  '在窗体上加个时钟控件`设置为1000毫秒执行一次也就是一秒
If txt_get = "关机" Then    '这里就判断如果TXT_GET的文本等于关机`then那就执行下面的 Shell "shutdown /s" 也就是关机的意思。。。懂了吧`
Shell "shutdown /s"
End If
End Sub



关键问题是 控制端连接不上受控端  问题如何解决!? --------------------编程问答-------------------- udp是无连接协议,你连接什么?
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,