Foxtable(狐表)用户栏目专家坐堂 → [求助]Openqq在服务器上获得IP地址怎么不对?


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

主题:[求助]Openqq在服务器上获得IP地址怎么不对?

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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
[求助]Openqq在服务器上获得IP地址怎么不对?  发帖心情 Post By:2017/6/20 5:58:00 [只看该作者]

在服务器上的应用程序在打开OPenQQ 时 
用 IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) 获取本机地址。
以前多台用此种方法获得的IP都是正确的。
而这次获得的IP则是阿里云内网IP,不是外网的IP。并且发现在服务器上ping本机的外网IP竟然是不通的?何故?谢谢

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/20 8:56:00 [只看该作者]

1、你为什么要获取外网ip?

 

2、如果要ping,你应该在别的计算机,比如你自己的计算机ping外网ip地址才对。

 

3、获取外网ip,参考

 

Dim WinHttpReq As Object = CreateObject("Msxml2.ServerXMLHTTP")
WinHttpReq.Open("GET", "http://1212.ip138.com/ic.asp")
WinHttpReq.Send
'正则表达式解析出外网IP
Dim str As String = WinHttpReq.ResponseText
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")
If mc.count > 0 Then
    Return mc(0).value

Else
    Return Nothing
End If

 


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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/6/20 10:43:00 [只看该作者]

为了使服务器打开openqq程序通用化,服务器端打开服务器openqq程序时读取ip地址,并按此地址打开Openqq,并把ip记存到数据库中。
客户端打开openqq是读取这个ip。这样就实现了通用化。
为什么在该服务器上使用了公网ip后出错呢?谢谢!
错误信息如下:


错误所在事件:启动IMServer
详细错误信息:
在其上下文中,该请求的地址无效。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/20 10:48:00 [只看该作者]

1、服务器端的openqq,不需要填写ip地址的,留空,或者填写0.0.0.0就行了;

 

2、你的数据库在你的服务器上,还是哪里?知道数据库的ip不就知道了服务器的ip?

 

3、正确的应该用域名,你的域名固定。你域名绑定哪一个ip地址都可以。


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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/6/20 10:50:00 [只看该作者]

Esc服务器有域名么?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/20 10:54:00 [只看该作者]

以下是引用新福星在2017/6/20 10:50:00的发言:
Esc服务器有域名么?

 

你的数据库和你的服务器是同一个ip吗?如果不同,而你的数据库固定ip地址,那可以用数据库保存。

 

申请域名的话,你需要自己去申请一个,弄一个便宜一点的就好了。


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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/6/21 9:28:00 [只看该作者]

 IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) 
用上述语句在有问题的A服务器上得到的IP地址是内网IP,而在另一台阿里云B服务器上得到是本机的公网IP.
在A服务器改用0.0.0.0启动OpenQQ可以执行成功,但是客户端联不上;在A服务器上使用公网IP启动OPenQQ无法成功,反映如下图

 

 


此主题相关图片如下:qq截图20170621092401.png
按此在新窗口浏览图片

也在联系阿里云客服,他们反映实在是慢。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 9:50:00 [只看该作者]

 测试了一下,你的32177端口,现在开启了,试试用IP地址不填,端口号用32177

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


加好友 发短信
等级:八尾狐 帖子:1964 积分:15604 威望:0 精华:0 注册:2011/7/16 20:59:00
  发帖心情 Post By:2017/6/21 9:53:00 [只看该作者]

32177是手机查询开的端口 这个会有冲突么?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 9:54:00 [只看该作者]

 那就是你的打开方式不对。为什么32177可以,52177不可以?你肯定没有正确开启

 回到顶部
总数 20 1 2 下一页