C/C++ UPNP NAT Traversal Реализация Winsock

В настоящее время я работаю с P2P Network через Интернет, используя C/C++ и Winsock2. После этого я хочу сделать переадресацию портов с маршрутизатором, используя UPNP (я знаю, что на некоторых маршрутизаторах нет UPNP, мне просто нужно сделать это с этой технологией).

Я хочу сделать простой класс, а именно "NATUPNP", чтобы сделать все NAT Traversal с использованием UPNP. Я уже создал этот класс, но он вызвал много ошибок, так как я не очень увлекаюсь сетевым программированием, извините (только простые знания). Если кто-то знает, как это сделать, я буду очень признателен за ваши усилия. Ниже мой класс с функциями / методами, которые я хотел бы быть там и работать. Заранее спасибо.

#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
};

0 ответов

Другие вопросы по тегам