以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  udpclients问题,接收端如何区分本机不同的端口接收到的message  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98734)

--  作者:esohoware
--  发布时间:2017/4/6 9:24:00
--  udpclients问题,接收端如何区分本机不同的端口接收到的message

UDPClient_ReceiveMessage:




Dim dt As DataTable =DataTables("udpmsg")
Dim dr As DataRow =dt.AddNew
dr("fromip")=e.UDPclient.IP
dr("fromport")=e.UDPclient.port
dr("content")=e.Message
e.ReturnValue="+" & vbCRLF

1、我系统有两个upd的端口,一个是端口是udp客户登录及系统推送信息,另外一个是p2p发送消息的,foxtable只有一个接收事件,如何区分

2、参数e.udpclient是远程发送方的数据结构还是本地接收端的?

--  作者:有点色
--  发布时间:2017/4/6 9:33:00
--  

不就是用e.udpclient区分吗?你弹出值看一下即可

 

msgbox(e.udpclient.port)

msgbox(e.udpclient.ip)


--  作者:esohoware
--  发布时间:2017/4/6 13:11:00
--  
afterOpenPreject:

Dim  server As udpclient 
Dim msg As udpclient 
If udpclients.Count<2 Then
   udpclients.add("server")
   server =udpclients("server")
   server.IP="0.0.0.0"
   server.Port=56007

   udpclients.add("msg")
   msg=udpclients("msg")
   msg.ip="0.0.0.0"
   msg.Port=56009
Else
  server =udpclients("server")
  msg=udpclients("msg")
End If
  
If server.Ready=False Then
  server.Start()
  End If 
 If msg.Ready=False Then
  msg.Start()
  End If
1、我系统有两个upd的端口,一个是端口是udp客户登录及系统推送信息,另外一个是p2p发送消息的,foxtable只有一个接收事件,如何区分
我如何区分是 server收到的,还是msg收到的数据


--  作者:有点色
--  发布时间:2017/4/6 14:47:00
--  
 在事件里面,不是可以弹出port等信息吗?判断一下不就行了?
--  作者:esohoware
--  发布时间:2017/4/6 16:49:00
--  
亲们,看清代码再说:
本地两个UDP端口,server  msg, 消息究竟是哪个端口进来的?如何判断

--  作者:有点色
--  发布时间:2017/4/6 17:01:00
--  

接收事件,判断端口,自己弹出看看有什么不同

 

msgbox(e.udpclient.port)

[此贴子已经被作者于2017/4/6 17:01:15编辑过]

--  作者:esohoware
--  发布时间:2017/4/7 14:39:00
--  
e.udpclient不是发送方的数据结构,是本机接收端的数据结构,我如何得到对端的(发送方的)的ip 和port呢?


--  作者:有点青
--  发布时间:2017/4/7 15:06:00
--  
以下是引用esohoware在2017/4/7 14:39:00的发言:
e.udpclient不是发送方的数据结构,是本机接收端的数据结构,我如何得到对端的(发送方的)的ip 和port呢?

 

这个信息无法获取。