Classe UPNP

user warning: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'drup6.dc.fid' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by query: SELECT dc.fid, f.filename, COUNT(dc.dcid) AS count, MAX(dc.timestamp) AS last FROM download_count dc JOIN files f ON dc.fid = f.fid WHERE dc.nid = 3 GROUP BY f.filename in /work/www/tanguy.fr.to/sites/all/modules/download_count/download_count.module on line 94.

C'est une classe assez basique qui permet d'effectuer une requete uPNP sur un routeur, via des requetes qui utilisent le standard SOAP.

J'ai été obligé d'utiliser la fonction HttpRequete() au lieu des fonctions SOAP de windev qui ne sont pas assez souples.

Je l'ai testée sur un routeur DLink DI 624+, cette classe a été faite pour faire fonctionner la TV Freebox a travers ce routeur.
Attention : Les ports de requetage uPNP ne sont pas forcement les meme en fonction des routeurs

Fonctions : IP Externe, Ouverture et Fermeture de Port, Liste des Ports NAT
Note : Ferme le dernier port ouvert automatiquement à la destruction ou lors de l'ouverture d'un nouveau port

Informations techniques : http://www.upnp.org/

Exemple d'utilisation

oUPNP est un cUPNP("192.168.0.1",5678)
oUPNP:OuvrePort("192.168.0.3",1234,"TCP")
Fichier attachéTaille
Classe uPNP v1.2 Windev10 + Code Source PDF51.93 Ko