J'essaie de créer un programme UPnP MediaServer afin de diffuser la vidéo de mon appareil photo de téléphones à mon PC. J'ai utilisé un espion de périphérique Intel pour envoyer une requête M-SEARCH et utilisé Wireshark pour capturer les paquets réseau.La réponse UPNP M-SEARCH ne génère pas de requête HTTP GET. Pourquoi?
Voici le M-RECHERCHE paquet
(Src: 192.168.1.28, Dst: 239.255.255.250; Src Port: 50852, Dst Port: 1900, time 2.09)
M-SEARCH * HTTP/1.1
ST: upnp:rootdevice
MAN: "ssdp:discover"
MX: 5
HOST: 239.255.255.250:1900
Voici la réponse UDP
(Src: 192.168.1.23, Dst: 192.168.1.28; Src Port: 53359, Dst Port: 50852)
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=1810
DATE: Wed, 1 Feb 2017 02:07:36 GMT
EXT:
LOCATION: http://192.168.1.23:49156/details.xml
SERVER: Linux/2.x.x, UPnP/1.0, pvConnect UPnP SDK/1.0, TwonkyMedia UPnP SDK/1.1
ST: upnp:rootdevice
USN: uuid:3d64febc-ae6a-4584-853a-85368ca80800::upnp:rootdevice
Content-Length: 0
Je ne reçois pas une suite requête HTTP GET à 192.168.1.23. Je l'ai comparé à d'autres réponses de l'appareil UPNP qui ont fonctionné et ne pouvaient voir aucune différence. J'ai essayé différents ports source mais sans succès. Des idées?
Vous utilisez donc Device Spy pour envoyer une requête M-SEARCH et un périphérique répond. Il n'est pas clair _qui_ vous vous attendez à faire une requête HTTP GET à la description de l'appareil ... – jku
L'en-tête 'Content-Length' de votre réponse n'est pas obligatoire (ou peut-être pas autorisé - les spécifications UPnP sont un peu vagues). Essayez de le supprimer. – simonc
@jku Device Spy effectue normalement une requête GET pour le périphérique xml automatiquement à la réception d'un paquet SSDP valide (à la fois la réponse MSEARCH et NOTIFY) – simonc