Foxtable(狐表)用户栏目专家坐堂 → 请教如何通过OPENQQ功能返回本机客户端IP


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

主题:请教如何通过OPENQQ功能返回本机客户端IP

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
请教如何通过OPENQQ功能返回本机客户端IP  发帖心情 Post By:2015/11/12 12:32:00 [只看该作者]

请教如何通过OPENQQ功能返回本机客户端IP

客户端向服务端发送一个消息,收到回程消息时如何获取客户端的IP

 


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


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

客户端登陆的时候,直接给服务器发送其ip地址。

 

ip地址如下获取

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=59092&skin=0

 

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/11/12 14:42:00 [只看该作者]

QQServer有个Users集合,包括所有登录用户(QQUser)。

QQUser有两个没有公开,但是非常有用的属性

 

WanIPAddress: 返回登录者的广域网IP,如果服务器和客户端不是同一个局域网的话、
LanIPAddress:  返回登录者的局域网IP

[此贴子已经被作者于2015/11/12 14:42:01编辑过]

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


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

If e.Message = "GetDate" Then
    e.ReturnValue = Date.Now
End If

 

这个可以返回系统时间

 

那么想用

If e.Message = "GetWanIp" Then

  e.ReturnValue = ?????.WanIPAddress

End If

 

这个应如何写


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


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

QQserver.Users(e.UserName).WanIPAddress

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


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

我郁闷了,原以为有了OPENQQ后可以获取准确的IP地址
但是返回值还是有问题
系统中四个网卡
一个无线网卡:活动有连接的 IP为192.168.1.83
一个有线网卡:没有连接,系统未分配IP
一个虚拟机网卡:没有开虚拟机 系统分配IP为192.168.128.1
一个虚拟机网卡:没有开虚拟机 系统分配IP为10.10.10.1
这样的测试环境:系统返回 广域网IP为192.168.1.83  局域网IP:192.168.128.1

修改测试环境:关闭两个虚拟机网卡(说明,虚拟机网卡如果没禁用,就算是虚拟机不开,虚拟机网卡也是启用状态,用IPCONFIG命令可以查看到系统有分配IP)
此时测试
一个无线网卡:活动有连接的 IP为192.168.1.83
一个有线网卡:没有连接,系统未分配IP
这样的测试环境:系统返回 广域网IP为192.168.1.83  局域网IP:192.168.1.83

请官方看看这样的返回结果是不是有点问题?
问题补充:如果启动虚拟网卡后,再启动FT系统则返回的局域网IP成了192.168.128.1  显然这是个伪地址.在服务器上 ping 192.168.128.1根本拼不通呀
 
如果先禁用虚拟网卡,再启动FT系统,再启用虚拟网卡,则测试 返回的地址为:192.168.1.83
 

图片点击可在新窗口打开查看此主题相关图片如下:1113001.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1113002.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/11/13 18:49:43编辑过]

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


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

Dim cmd As  new Process()
cmd.StartInfo.FileName = "tracert"
cmd.StartInfo.Arguments = "-h 1 www.baidu.com"

cmd.StartInfo.RedirectStandardOutput = True
cmd.StartInfo.RedirectStandardInput = True
cmd.StartInfo.UseShellExecute = False
cmd.StartInfo.CreateNoWindow = True

cmd.Start()
Dim info As String = cmd.StandardOutput.ReadToEnd()
msgbox(Info)

 


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


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

这代码执行起来 在我的电脑上要5.5秒

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


加好友 发短信
等级:婴狐 帖子:50 积分:469 威望:0 精华:0 注册:2015/11/13 12:35:00
  发帖心情 Post By:2015/11/14 18:32:00 [只看该作者]

正需要这个功能,最佳方案是啥

 回到顶部