以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教如何通过OPENQQ功能返回本机客户端IP (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77177) |
-- 作者:supwork -- 发布时间:2015/11/12 12:32:00 -- 请教如何通过OPENQQ功能返回本机客户端IP 请教如何通过OPENQQ功能返回本机客户端IP 客户端向服务端发送一个消息,收到回程消息时如何获取客户端的IP
|
-- 作者:大红袍 -- 发布时间:2015/11/12 14:27:00 -- 客户端登陆的时候,直接给服务器发送其ip地址。
ip地址如下获取
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=59092&skin=0
|
-- 作者:狐狸爸爸 -- 发布时间:2015/11/12 14:42:00 -- QQServer有个Users集合,包括所有登录用户(QQUser)。 QQUser有两个没有公开,但是非常有用的属性
WanIPAddress: 返回登录者的广域网IP,如果服务器和客户端不是同一个局域网的话、 [此贴子已经被作者于2015/11/12 14:42:01编辑过]
|
-- 作者:supwork -- 发布时间:2015/11/13 17:01:00 -- If e.Message = "GetDate" Then
这个可以返回系统时间
那么想用 If e.Message = "GetWanIp" Then e.ReturnValue = ?????.WanIPAddress End If
这个应如何写 |
-- 作者:大红袍 -- 发布时间:2015/11/13 17:08:00 -- QQserver.Users(e.UserName).WanIPAddress |
-- 作者:supwork -- 发布时间: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编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/11/13 19:18:00 -- Dim cmd As new Process() cmd.StartInfo.RedirectStandardOutput = True cmd.Start()
|
-- 作者:supwork -- 发布时间:2015/11/13 19:23:00 -- 这代码执行起来 在我的电脑上要5.5秒 |
-- 作者:黑苹果 -- 发布时间:2015/11/14 18:32:00 -- 正需要这个功能,最佳方案是啥 |