<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><category>pcsoft.fr.windev</category><copyright>Copyright 2026, PC SOFT</copyright><lastBuildDate>5 May 2019 15:12:36 Z</lastBuildDate><pubDate>5 May 2019 15:12:36 Z</pubDate><description>Bonjour,&#13;
&#13;
Je cherche à lister les périphériques réseau de mon LAN.&#13;
&#13;
Actuellement j'ai lancé "arp -a" et récupéré les IP, puis NetNomMachine() sur chaque adresse.&#13;
2 soucis :&#13;
- NetNomMachine() est très long&#13;
- certaines adresses ne retournent rien (ex : ma freebox, mon player, les télephones IOS et Androïd,...&#13;
&#13;
Je me penche donc sur l'Upnp pour allez chercher les infos.&#13;
&#13;
J'ai essayé UpnpListePériphériques()&#13;
&#13;
[code:wl]&#13;
tabPériphériques est un tableau de upnpPériphérique&#13;
tabPériphériques = UPNPListePériphérique("ssdp:discover", 1900)&#13;
SI ErreurDétectée ALORS&#13;
	Info(ErreurInfo(errComplet))&#13;
SINON&#13;
	//Traitement&#13;
FIN&#13;
[/code]&#13;
&#13;
Mais en mettant un point d'arrêt au niveau du traitement je vois que tabPériphériques est vide.&#13;
&#13;
C'est pourquoi je me suis penché sur le SSDP.&#13;
Si j'ai bien compris il faut que je me connecte en Socket à l'adresse IP cible, puis lui envoie un message.&#13;
&#13;
Voila mon code :&#13;
&#13;
[code:wl]&#13;
MSEARCH est une chaîne = "M-SEARCH * HTTP/1.1"+RC+"Host: 239.255.255.250:1900"+RC+"Man: 'ssdp:discover'"+RC+"ST:upnp:rootdevice"+RC+"MX:3" &#13;
ChaîneVersUTF8(MSEARCH)&#13;
tabByte est tableau d'entiers sur 1 octet&#13;
POUR i = 1 _A_ Taille(MSEARCH)&#13;
	TableauAjoute(tabByte,Asc(MSEARCH[[i]]))&#13;
FIN&#13;
&#13;
SI SocketExiste("SSDP")=Faux ALORS&#13;
	SI PAS SocketCréeUDP("SSDP", 1900, "192.168.0.254") ALORS&#13;
		LIB_Resultat=ErreurInfo( errMessage )&#13;
	SINON&#13;
		LIB_Resultat="Socket Ouvert"&#13;
	FIN&#13;
FIN&#13;
&#13;
SI SocketExiste("SSDP") ALORS&#13;
	SocketEcrit("SSDP",MSEARCH,"192.168.0.254", 1900)&#13;
	LIB_Resultat = SocketLit("SSDP",Faux)&#13;
	SI LIB_Resultat ALORS&#13;
		Trace(LIB_Resultat)&#13;
	FIN&#13;
FIN&#13;
&#13;
SI SocketExiste("SSDP")=Vrai ALORS&#13;
	SocketFerme("SSDP")&#13;
	LIB_Resultat = "Socket fermé"&#13;
FIN&#13;
[/code]&#13;
&#13;
Malheureusement, aucun retour...&#13;
J'ai sûrement oublié ou mal compris un élément... qqun a-t'il une idée pour m'aider à avancer svp?&#13;
&#13;
Merci d'avance !</description><ttl>30</ttl><generator>WEBDEV</generator><language>fr_FR</language><link>https://forum.pcsoft.fr/es-ES/pcsoft.fr.windev/229896-upnp-dlna-ssdp-lister-peripheriques-lan/read.awp</link><title>Upnp, DLNA, SSDP,... Lister les périphériques du LAN</title><managingEditor>moderateur@pcsoft.fr (El moderador)</managingEditor><webMaster>webmaster@pcsoft.fr (El webmaster)</webMaster></channel></rss>
