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


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

主题:UDPClient通讯求助

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
UDPClient通讯求助  发帖心情 Post By:2015/11/16 18:06:00 [只看该作者]

OPenQQ服务端已启用 UDPClient端口监控

UDPClients.Add("UDP1")
UDPClients("UDP1").IP = "192.168.1.8"
UDPClients("UDP1").Port = 52178
UDPClients("UDP1").Start()

请问在其它客户端如何向该UDPClient端口通讯 确认能否建立连接关系?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/16 18:12:00 [只看该作者]

一样,只要执行了代码

 

Dim udp As New System.Net.Sockets.UdpClient(0)
Dim ip As New System.Net.IPEndPoint(System.Net.IPAddress.Parse("192.168.1.8"), 52178)


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/11/16 18:26:00 [只看该作者]

你这是在客户端添加一个UDPClient 监听的吧

 

我想知道 客户端如何向 服务器192.168.1.8 的端口52178发送一个消息 并接收到返回消息"ABC"

 

UDPClient ReceivedMessage

 

事件已增加

Dim msg As String = e.Message
Dim ret As String
If e.Message.StartsWith("#A") AndAlso e.Message.EndsWith("A#") 
    e.ReturnValue = "ABC"
End If


事件 的 编辑窗口下面的说明  是 下面这个  要改一下

 

UserChangePassword

 

在内置聊天窗口单击“修改密码”命令时触发。

参考: 让用户主动设置密码

[此贴子已经被作者于2015/11/16 18:27:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/11/16 18:40:00 [只看该作者]

UDPClients("UDP1").Send("192.168.1.83", 52178, "#AjjkA#") 可以发送值 ,并且在服务器端也看到收到了这个值 ,但是发送端如何获得返回值呢  这个怎么不提供Sendwait呢

 

 

 

ReceivedMessage  的 ReturnValue 又有何用呢

 

[此贴子已经被作者于2015/11/16 18:46:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/16 20:31:00 [只看该作者]

汗,帮助就已经帮你写好了啊。

 

http://www.foxtable.com/help/topics/3004.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
supwork
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
  发帖心情 Post By:2015/11/16 23:12:00 [只看该作者]

汗 帮助看不懂,帮助是写了一大堆代码,但是没有注释

或者请指点一下,要去恶补一下哪些编程知道方可看懂帮助的代码?

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)

 


 回到顶部