2013-08-01 4 views
0

J'essaie d'implémenter une sorte de découverte de service dans mon réseau. En particulier, je veux que mes appareils alimentés par Linux soient récupérés par une application Android. Je suis tombé sur ssdp et cela semble convenir à ma tâche. Je cherchais des bibliothèques ssdp pour C++ mais je n'en ai trouvé aucune. Dois-je l'implémenter seul? Si oui, pouvez-vous donner un bref aperçu de la façon dont cela peut être fait? Ou s'agit-il simplement d'envoyer des messages NOTIFY via UDP, ce qui peut se faire sans bibliothèque!Simple Service Discovery sur Linux

concernant

Répondre

0

L'article wiki vous lié à UPnP mentionne en tant que successeur SSDP. Peut-être que libupnp a ce dont vous avez besoin? http://pupnp.sourceforge.net/

+0

En fait, je ne News toute la pile upnp, mais juste un mécanisme pour la découverte facile de mes appareils – Moonlit

+0

Vous avez cela en arrière. SSDP est le successeur (et le surensemble) de l'UPnP. – hyperkinetic

2

À moins d'utiliser une bibliothèque C est contre votre religion, vous pouvez utiliser gssdp: il est une implémentation SSDP bien testé (il est une partie de la pile GUPnP) qui ne dépend que de bien pendue, gobject et libsoup. Voir reference manual et source code.

0

L'implémentation de facto de mDNS/DNS-SD pour Linux est Avahi. Il fournit divers bindings for developers. Si vous développez avec C ou C++, vous devriez jeter un oeil ici: http://avahi.org/download/doxygen/

Il existe trois API de programmation pour l'intégration: avahi-core, avahi-client et avahi-gobject. avahi-core est une bibliothèque intégrable et l'implémentation de mDNS supporte la réflexion entre plusieurs sous-réseaux.

+2

Fournir une réponse de type lien uniquement n'est pas suffisant en raison du risque de liens morts. Veuillez fournir un résumé du contenu que vous liez et merci de contribuer à la communauté SO. –

+0

Merci d'expliquer, c'est logique. Mais je ne sais pas quoi écrire d'autre, puisque je dirige les implémenteurs de service de découverte automatique pour utiliser l'API Avahi. Citer un morceau de code peut-être? – Fox

+0

J'ai fait quelques changements pour ajouter un résumé de base et je pense que vous pouvez essayer un peu d'effort en montrant un extrait de code exemple peut-être. –