libnatpmp.

Ein Versuch, eine tragbare und vollständig kompatible Implementierung des Protokolls für die Clientseite vorzunehmen
Jetzt downloaden

libnatpmp. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • BSD License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Thomas Bernard
  • Website des Verlags:
  • http://miniupnp.free.fr/libnatpmp.html

libnatpmp. Stichworte


libnatpmp. Beschreibung

Ein Versuch, eine tragbare und vollständig konforme Implementierung des Protokolls für die Client-Seite zu machen libnatpmp ist ein Versuch, eine tragbare und vollständig kompatible Implementierung des Protokolls für die Client-Seite zu machen. Es basiert auf nicht blockierende Sockets und alle Anrufe des API sind asynchron. libnatpmp Bibliothek ist daher sehr einfach, den NAT-PMP-Code für jedes Event zu integrieren angetrieben code.NAT-PMP ist die direkte gleichzeitig auf die UPnP IGD-Spezifikation. Es bietet eine Möglichkeit, NAT-Traversal zu tun. Es ist Teil der Bonjour-Protokoll-Spezifikationen. Sie können die Beschreibung dieses einfachen Protokolls erhalten hier oder durch den Entwurf zu lesen. Im Moment ist es vor allem von Apple-Software und hardware.Use libnatpmp in Ihrem programsIt unterstützt werden, sollte sehr einfach zu bedienen sein libnatpmp in jedem C / C ++ Programm. Alle API ist in der natpmp.h Datei beschrieben. · Zunächst einmal muss eine Variable vom Typ natpmp_t zugeordnet werden und initnatpmp () aufgerufen werden muss. · Sendpublicaddressrequest () oder sendnewportmappingrequest () aufgerufen werden. · Für jede Anfrage abgeschickt, readnatpmpresponseorretry () sollte solange er zurückkehrt genannt werden NATPMP_TRYAGAIN. · Wenn Sie die Buchse (Feld s im natpmp_t Objekt) warten, bereit zu sein für das Lesen von System-Aufrufe wie select () oder poll (), können Sie getnatpmprequesttimeout (), um zu wissen, verwenden, wie lange zu warten vor dem Aufruf ohnehin readnatpmpresponseorretry (). · Um alle verwendeten Ressourcen frei, kann closenatpmp () called.Sample codeError Überprüfung HSAMPLE codeError Überprüfung seines bewusst verzichtet wurde. Bitte überprüfen Sie alle Rückgabecodes in natpmp.h Datei. einfache sampleThis sehr einfaches Beispiel nur für eine Umleitung stellen und zurück, wenn die Arbeit erledigt ist. Leere Redirect (uint16_t privateport, uint16_t publicport) {int r; natpmp_t natpmp; natpmpresp_t Antwort; initnatpmp (natpmp); sendnewportmappingrequest (natpmp, NATPMP_PROTOCOL_TCP, privateport, publicport, 3600); do {fd_set fds; struct timeval Timeout; FD_ZERO (FDS); FD_SET (natpmp.s, FDS); getnatpmprequesttimeout (natpmp, timeout); auswählen (FD_SETSIZE, FDS, NULL, NULL, timeout); r = readnatpmpresponseorretry (natpmp, response); } While (r == NATPMP_TRYAGAIN); printf ( "public Port% hu zu LokalerAnschluss% hu liftime% un kartiert", response.newportmapping.mappedpublicport, response.newportmapping.privateport, response.newportmapping.lifetime); closenatpmp (natpmp); } Als bisher bewusst verzichtet. Bitte überprüfen Sie alle Rückgabecodes in natpmp.h file.simple sampleThis sehr einfaches Beispiel nur für eine Umleitung stellen und zurück, wenn die Arbeit erledigt ist. Leere Redirect (uint16_t privateport, uint16_t publicport) {int r; natpmp_t natpmp; natpmpresp_t Antwort; initnatpmp (natpmp); sendnewportmappingrequest (natpmp, NATPMP_PROTOCOL_TCP, privateport, publicport, 3600); do {fd_set fds; struct timeval Timeout; FD_ZERO (FDS); FD_SET (natpmp.s, FDS); getnatpmprequesttimeout (natpmp, timeout); auswählen (FD_SETSIZE, FDS, NULL, NULL, timeout); r = readnatpmpresponseorretry (natpmp, response); } While (r == NATPMP_TRYAGAIN); printf ( "public Port% hu zu LokalerAnschluss% hu liftime% un kartiert", response.newportmapping.mappedpublicport, response.newportmapping.privateport, response.newportmapping.lifetime); closenatpmp (natpmp); } Komplexer sampleWe konnte die init Phase einer P2P-Software vorstellen. Während dieser Phase versucht die Software, die öffentliche IP-Adresse zu erhalten und ein Port-Mapping hinzufügen. Am Ende des Prozesses natpmpstate entweder SDONE oder Serror sein. {Natpmp_t natpmp; natpmpresp_t Antwort; enum {Sinit = 0, Ssendpub, Srecvpub, Ssendmap, Srecvmap, SDONE, Serror = 1000} natpmpstate = Sinit; int r; if (initnatpmp (natpmp)


libnatpmp. Zugehörige Software

Eunet

EUNET ist eine plattformübergreifende Sockel und eine Netzwerkbibliothek für die Programmiersprache Euphoria. ...

149

Herunterladen

Certmaster

CERTMASTER ist ein Satz von Tools und einer Python-Bibliothek, um SSL-Zertifikate einfach an Anwendungen zu verteilen, die sie benötigen. ...

157

Herunterladen

Mollom

MOLLOM ist eine Ruby-Klasse zum einfachen Schnittstellen mit dem Mollom.com Open-API für Spam-Erkennung und Inhaltsqualitätsbewertung. ...

148

Herunterladen