使用miniupnpd-->upnp协议 映射本地端口到外网

miniupnpc的主要函数介绍

1.miniupnpc库主要使用的头文件有

#include"miniwget.h"
#include"miniupnpc.h"
#include"upnpcommands.h"
#include"upnperrors.h"

它使用的lib库是miniupnpc.lib

 

2.miniupnpc.h使用的函数有

upnpDiscover():主要用来搜索局域网中所有的UPNP设备(注意使用freeUPNPDevlist()释放资源)

UPNP_GetValidIGD():在UPNP列表中查看有效IGD设备

UPNPIGD_IsConnected():判断一个设备是否连接正常

// 查询局域网内所有Upnp设备;按照链表的方式返回
UPNPDev* upnpDiscover()

// 释放upnp设备链表
freeUPNPDevlist(UPNPDev*)

// 从upnp设备表中查询有效地设备;
// @UPNPDev : 设备列表
// @UPNPUrls : 如果返回值非0,UPNPUrls作为传出参数
// @IGDdatas : 如果返回值非0,IGDdatas作为传出参数
// @result : =0没有IGD设备;=1有一个连接;=2有设备但没有连接;=3有UPNP但不是ICG设备
UPNP_GetValidIGD(UPNPDev*, UPNPUrls*, IGDdatas*, ..)

// Used when skipping the discovery process.
UPNP_GetIGDFromUrl()
GetUPNPUrls()


// 判断url是否相连接
// @struct UPNPUrls: 指定的设备
// @struct IGDdatas: 设备的其他信息
// @result : =1连接正常;=0没有连接
UPNPIGD_IsConnected(UPNPUrls*, IGDdatas);


// 释放url资源
FreeUPNPUrls(UPNPUrls*);

// 封装了recv函数
ReceiveData()

// 将内外IP,port在路由器上做一个映射
// @controlURL : IGD设备的路径
// @servicetype: IGD设备类型
// @extPort : 映射出的外网端口
// @inPort : 内网port端口
// @inClient : 内网IP地址
// @desc : 描述信息;通常设置为NULL
// @proto : 该外网端口支持的类型TCP或UDP
// @remoteHost : 该端口限制的IP地址、通常设置为NULL,表示所有IP都能访问
// @result : =0映射成功;非0失败
UPNP_AddPortMapping(char* cont
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值