Foxtable(狐表)用户栏目专家坐堂 → UDPClient通讯求助


  共有3022人关注过本帖树形打印复制链接

主题:UDPClient通讯求助

帅哥哟,离线,有人找我吗?
Hyphen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/17 9:12:00 [显示全部帖子]

客户端增加一个函数,比如名称ConnectToUDPServer

 

函数体:

Dim addr As String = args(0)'服务器IP
Dim port As Integer = args(1)'服务器端口'
Dim input As String = args(2)'发送的内容
Dim seconds As Double = args(3)'等待时间,以秒记,500毫秒用0.5代替

Dim udp As New System.Net.Sockets.UdpClient(0)
Dim ip As New System.Net.IPEndPoint(System.Net.IPAddress.Parse(addr), port)
Dim bytes() As Byte = System.Text.Encoding.Unicode.GetBytes(input)
udp.Send(bytes, bytes.Length, ip) '发送数据
Dim result As String = "!false"
Dim sdt As Date = Date.Now
While Date.Now < sdt.AddSeconds(seconds ) '等X秒
    If udp.Available > 0 Then
        Dim remoteIp As New System.Net.IPEndPoint(System.Net.IPAddress.Any, 0)
        Dim rbytes() As Byte = udp.Receive(remoteIp)
        result = System.Text.Encoding.Unicode.GetString(rbytes) '获取返回值
       
    End If
End While
udp.Close()

Return result

 

Foxtable客户端这样用:

dim result as string = Functions.Execute("ConnectToUDPServer","192.168.1.8",52178,"#AA#",0.5)

msgbox(result)

 


 回到顶部