客户端增加一个函数,比如名称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)