16,473
社区成员
发帖
与我相关
我的任务
分享
#include <Windows.h>
#include <vector>
#include "p2pInstance.h"
#include "defType.h"
#include "../Inc/miniwget.h"
#include "../Inc/miniupnpc.h"
#include "../Inc/upnpcommands.h"
#include "../Inc/upnperrors.h"
using namespace std;
#pragma comment(lib, "../Lib/miniupnpc.lib")
int Cupnp::addPortMapping(const char *intAddr, const char *intPort
, const char *extPort, const char *proto)
{
if (0 == intAddr || 0 == intPort || 0 == extPort || 0 == proto)
return UPNPCOMMAND_INVALID_ARGS;
proto = ProtoFix(proto);
if (0 == proto)
return UPNPCOMMAND_NOTSUPPORTED_PROTOCOL;
printf("add port mapping: intAddr-%s, intPort-%s, extPort-%s, proto-%s.\n"
, intAddr, intPort, extPort, proto);
UPNPUrls upnpUrls;
IGDdatas upnpIGDDatas;
return UPNP_AddPortMapping(upnpUrls.controlURL, upnpIGDDatas.first.servicetype
, extPort, intPort, intAddr, 0, proto, 0, 0);
}