路由器Upnp映射

基于tcp的p2p有些路由不支持动态的nat穿透,这时候的解决办法就是upnp

这也是主流的p2p下载软件常用的方法(像迅雷,风行,快播等)

 

upnp的介绍网上的资料很少,找了很久只找到codeproject上的一个c#的cs,但还不能用(可能是国内的路由和外国的有些差别).

在国内的找了很久都是一篇文章写得一点用处都没有.

没办法只好自己看原有的参考文档,呵呵不过还是被我搞定了.

upnp是一个路由的通用功能,一般都有的,没有的只是极特别的神级的人物!

下面贴出我的解决办法

 

我的解决方法:

upnp只有3个操作,1)添加端口,2)删除端口 3)一个是DisConver查询,以及一个描述的xml文档

1.首先是广播一个包到239.255.255.250:1900

   然后启动一个Soket 接收Udp返回(如果路由没有启动upnp是收不到消息的,注意设一个超时时间)

  接收到的消息里一些描述信息,路由型号,描述的地址,以及一些参数。

 

2.添加端口 (我下了codeproject上的代码,他是使用ipc的service,我试了好几个路由都不成功,可能是我的路由太老了吧)

 我建立一个socket tcp连接到路由的1900端口,把信息xml文档直接发上去就可以了,路由会返回是否成功的标识
 一般成功了会到 200 OK 字符。
  注意:xml文档不能含有中国字符。


3.删除端口  这个操作非常简单,同2步,把删除的xml发过去就行了,
  删除的时候只需要填写要删除的外网映射端口就可以确定了
 
3)如果想修改一个端口的时候,只要再添加一次就可以了

 

给出我的切图

软件图片

路由

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏良辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值