我目前正在使用C / C ++和Winsock2通过Internet使用P2P网络。这样,我想使用UPNP与路由器进行端口转发(我知道有些路由器没有UPNP,我只需要使用这项技术即可。)
我想创建一个简单的类“ NATUPNP”来使用UPNP进行所有NAT遍历。我已经做过此类,但是由于我不是很喜欢网络编程(仅提供简单知识),因此它引起了很多错误。如果有人知道该怎么做,我将非常感谢您的努力。下面是我的类,其中包含我想在那里工作的功能/方法。预先感谢。
#include <Winsock2.h>
#include <Ws2tcpip.h>
class NATUPNP
{
public:
string getPublicIP(); //return the Public IP Address of the Network
bool isUPNPEnabled(); //return true if router can do UPNP NAT Traversal, if not return false
bool isPortForwarded(int port); //return true if port is forwarded by the router, if not return false
bool addPortForward(int externalPort, int internalPort, string ipAddress); //ask router to forward this port to this local ipAddress
bool removePortForward(int externalPort, int internalPort, string ipAddress); //ask router to remove port forward to this local ipAddress
};