J'espère que quelqu'un peut éclaircir ma confusion derrière les fins des messages NOTIFY et M-SEARCH utilisés par le protocole upnp/ssdp. Je crois comprendre qu'un message NOTIFY est envoyé lorsqu'un périphérique souhaite se signaler à d'autres périphériques compatibles UPNP et qu'un message M-SEARCH est envoyé lorsqu'un périphérique souhaite en savoir plus sur d'autres périphériques compatibles UPNP.Pourquoi NOTIFY est-il nécessaire dans le protocole SSDP?
Alors, si mon appareil a reçu un message M-SEARCH d'un autre appareil via l'adresse de diffusion (pour SSDP, 239.255.255.250), je répondre avec le format approprié:
HTTP/1.1 200 OK
CACHE-CONTROL: max-age = seconds until advertisement expires
DATE: when response was generated
EXT:
LOCATION: URL for UPnP description for root device
SERVER: OS/version UPnP/1.0 product/version
ST: search target
USN: advertisement UUID
ici est ma question. Pourquoi le message NOTIFY existe-t-il en premier lieu? Puisque vous renvoyez les informations de l'appareil à l'appareil demandé en consultant M-SEARCH, il me semble qu'il ne sert à rien d'annoncer les informations sur l'appareil à l'avance avec NOTIFY sauf si cela est demandé, car d'autres appareils écoutant la publicité peuvent peut ne pas être disponible au moment où NOTIFY a été envoyé. En d'autres termes, j'aimerais connaître le but exact de NOTIFY par rapport à M-SEARCH, de préférence avec des exemples réels de son utilisation. Ou est-ce que je ne comprends pas tout à fait ce protocole?
+1. De plus, les NOTIFY périodiques permettent aux points de contrôle d'inférer qu'un périphérique a quitté le réseau, même si ce dernier n'a pas pu envoyer BYEBYES. – simonc