2009-10-19 9 views
0

Je crée un programme de bibliothèque musicale et je souhaite partager la bibliothèque sur le réseau local. Comment puis-je découvrir d'autres personnes qui partagent leur bibliothèque? Je voudrais trouver les bibliothèques des autres sans taper dans les adresses IP et autres.Partager des données dans le réseau local

Répondre

1

Probablement le moyen le plus simple est d'utiliser UDP pour envoyer périodiquement un message (contenant des informations annonçant la présence de votre bibliothèque) au broadcast address. Cela sera reçu par tous les hôtes sur votre sous-réseau (et peut-être plus loin, selon la configuration de votre routeur). Si votre application écoute ces messages provenant d'autres hôtes, elle pourra au fil du temps trouver toutes les autres instances de votre application sur le sous-réseau.

Editer: trouvé this question qui a des réponses qui vont dans plus de détails de ce dont je parle.

+0

Merci beaucoup, je pense que c'est la solution la plus simple. Je connaissais les diffusions mais d'une manière ou d'une autre je pensais qu'elles n'étaient pas transmises par les routeurs .. -.- – eWolf

0

Vous pourriez obtenir votre application pour envoyer le fait que la bibliothèque est partagée avec un serveur central - en fait il suffit d'envoyer l'emplacement.

D'autres instances de votre application peuvent alors demander au serveur la liste des bibliothèques partagées.

L'avantage de ceci est que votre application ne diffuse pas en permanence.

L'inconvénient est que vous avez besoin d'un serveur central.

3

Apple utilise mdns (ils l'appellent Bonjour) pour diffuser et découvrir des partages de musique sur le réseau local sans configuration utilisateur.

Beaucoup d'autres fabricants implémentent UPnP/AV pour le même.

+0

En particulier, Apple utilise DAAP (http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol) pour partager des choses, en utilisant mdns pour la découverte. – Pete

1

SNMP

Ce protocole a été conçu pour ce que vous cherchez à faire. Vous pouvez utiliser plusieurs bibliothèques implémentant SNMP, ce qui facilite l'envoi et la réception.

Questions connexes