以文本方式查看主题

-  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=102441)

--  作者:新福星
--  发布时间:2017/6/20 5:58:00
--  [求助]Openqq在服务器上获得IP地址怎么不对?
在服务器上的应用程序在打开OPenQQ 时 
用 IPAdress = System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) 获取本机地址。
以前多台用此种方法获得的IP都是正确的。
而这次获得的IP则是阿里云内网IP,不是外网的IP。并且发现在服务器上ping本机的外网IP竟然是不通的?何故?谢谢

--  作者:有点色
--  发布时间: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

 


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


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

--  作者:有点色
--  发布时间:2017/6/20 10:48:00
--  

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

 

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

 

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


--  作者:新福星
--  发布时间:2017/6/20 10:50:00
--  
Esc服务器有域名么?
--  作者:有点色
--  发布时间:2017/6/20 10:54:00
--  
以下是引用新福星在2017/6/20 10:50:00的发言:
Esc服务器有域名么?

 

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

 

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


--  作者:新福星
--  发布时间: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
按此在新窗口浏览图片

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


--  作者:有点色
--  发布时间:2017/6/21 9:50:00
--  
 测试了一下,你的32177端口,现在开启了,试试用IP地址不填,端口号用32177
--  作者:新福星
--  发布时间:2017/6/21 9:53:00
--  
32177是手机查询开的端口 这个会有冲突么?
--  作者:有点色
--  发布时间:2017/6/21 9:54:00
--  
 那就是你的打开方式不对。为什么32177可以,52177不可以?你肯定没有正确开启