VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
楼主: 19900603

[推荐] UPNP穿透NAT 测试成功 + 源码

  [复制链接]
发表于 2012-12-15 21:08:00 | 显示全部楼层
本帖最后由 qq316107934 于 2012-12-15 21:15 编辑

啊啊啊啊啊,来呐喊了!
LZ解决了一个大问题啊!以后局域网穿透不用服务器了!
=======================
下方LZ红果果的卖萌。。。

点评

看楼下  发表于 2012-12-15 22:45
还有一点,虚拟机里用不了,点按钮无任何反应,有任务在执行的警示倒不缺……  发表于 2012-12-15 21:17
分呢? 光呐喊了?  发表于 2012-12-15 21:12
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-15 22:42:52 | 显示全部楼层

额 本机测试有个小错误 没发现  取Ip的时候用到固定的路由器地址了。。 

- -!

增加了 1秒  超时错误





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2012-12-16 12:13:00 | 显示全部楼层
表示!开着 但还是娶不到IP地址!为什么呢?








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

是楼上代码测试的么  发表于 2012-12-16 20:25
是否没有获取到外网IP无法映射呢?  发表于 2012-12-16 12:24
在路由的UPnP 表中并未见任何协议什么的!  发表于 2012-12-16 12:23
回复 支持 反对

使用道具 举报

发表于 2012-12-16 20:57:14 | 显示全部楼层
本来是可以了 但人家好像连接不到我这??是不是人家也是内网的原因呢?别人那边我也做了映射的

点评

对了 你关掉路由里的防火墙试试  发表于 2012-12-16 21:06
- - ! 不会吧。。你自己用外网Ip在本机连接呢?  发表于 2012-12-16 20:59
回复 支持 反对

使用道具 举报

发表于 2012-12-17 08:29:18 | 显示全部楼层
19900603 发表于 2012-12-15 22:42
额 本机测试有个小错误 没发现  取Ip的时候用到固定的路由器地址了。。 

- -!

少个 Vblegend.tlb ?

点评

去掉引用就行了!!我Ide插件自动引用的  发表于 2012-12-17 17:46
回复 支持 反对

使用道具 举报

发表于 2012-12-17 11:53:12 | 显示全部楼层
我的也不能获取到外网IP地址,XP SP2系统

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

48楼 测试下呗  发表于 2012-12-18 21:47
没有换过,就是出厂设置,我都没动过  发表于 2012-12-17 20:34
路由器地址和端口换过么?  发表于 2012-12-17 17:48
回复 支持 反对

使用道具 举报

发表于 2012-12-17 13:36:02 | 显示全部楼层
谢谢分享...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-18 21:44:46 | 显示全部楼层
本帖最后由 19900603 于 2012-12-18 22:01 编辑

获取IP失败的 覆盖以下代码测试下 结果请回帖说明
  1. '外网Ip请求
  2. Public Sub GetIp_Request()
  3.     If CurrentStep <> UPNP_NOTHING Then GoTo ErrH
  4.     CurrentStep = UPNP_GETIPADDR
  5.     IpAddrRequest = "POST " & ControlUrl & " HTTP/1.0" & vbCrLf & _
  6.                     "Host:" & UpnpIpAddr & ":1900" & vbCrLf & _
  7.                     "SoapAction: " & Chr(34) & "#GetExternalIPAddress" & Chr(34) & vbCrLf & _
  8.                     "Content-Type: text/xml; charset=" & Chr(34) & "utf-8" & Chr(34) & vbCrLf & _
  9.                     "Content-Length: 249" & vbCrLf & vbCrLf & _
  10.                     "<?xml version=" & Chr(34) & "1.0" & Chr(34) & "?>" & vbCrLf & _
  11.                     "<s:Envelope xmlns:s=" & Chr(34) & "http://schemas.xmlsoap.org/soap/envelope/" & Chr(34) & _
  12.                     " s:encodingStyle=" & Chr(34) & "http://schemas.xmlsoap.org/soap/encoding/" & Chr(34) & ">" & vbCrLf & _
  13.                     "<s:Body>" & vbCrLf & _
  14.                     "<u:GetExternalIPAddress xmlns:u=" & Chr(34) & Chr(34) & ">" & vbCrLf & _
  15.                     "</u:GetExternalIPAddress>" & vbCrLf & _
  16.                     "</s:Body>" & vbCrLf & _
  17.                     "</s:Envelope>" & vbCrLf & vbCrLf
  18.     '连接到服务器
  19.     Connect UpnpIpAddr, 1900
  20.     '开启计时器
  21.     StartTime
  22.     Exit Sub
  23. ErrH:
  24.     RaiseEvent ErrorRet("有任务在执行!")
  25. End Sub
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-12-18 21:53:37 | 显示全部楼层
本帖最后由 19900603 于 2012-12-18 22:00 编辑

测试 Server2003 + Microsoft Virtual PC 2007 虚拟机 成功

下图里的 Error 因为开始在路由器关闭 Upnp功能了。。后来又打开了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2012-12-18 23:25:45 | 显示全部楼层

测试结果
HTTP/1.0 500 Internal Server Error
CONTENT-LENGTH: 474
CONTENT-TYPE: text/xml; charset="utf-8"
DATE: Tue, 18 Dec 2012 23:24:10 GMT
EXT:
SERVER: ipos/7.0 UPnP/1.0 TL-WR941N/4.0/5.0

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>UPnPError</faultstring>
<detail>
<UPnPError xmlns="urn:schemas-upnp-org:control-1-0">
<errorCode>-1</errorCode>
<errorDescription>Invalid Action</errorDescription>
</UPnPError>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-6-29 02:37

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表