2010-02-16 5 views
2

J'essaie de découvrir par programme puis de monter des volumes réseau partagés à l'aide du partage de fichiers d'OS X à partir d'une application Cocoa. J'utilise NSNetServiceBrowser pour découvrir quels serveurs font la publicité du partage de fichiers - assez facile.Découverte de partage de fichiers dans Cocoa

Ma question concerne l'étape suivante: comment découvrez-vous les partages disponibles pour une machine donnée? c'est à dire. étant donné que les URL AFP ressemblent à ceci:

afp://SomeMac._afpovertcp._tcp.local/SomeVolume 
afp://SomeMac._afpovertcp._tcp.local/OtherVolume 

comment découvrir dois-je les noms des actions qui composent cette dernière composante url? Je n'ai sûrement pas besoin de faire des appels AFP de bas niveau pour ça!

Répondre

2

Si par "appels AFP de bas niveau" vous voulez dire FPGetSrvrParms(), alors c'est presque certainement ce que vous devez faire. Bonjour (NSNetServiceBrowser) est destiné à découvrir services, pas effectuer des communications spécifiques au service. AFP est le service. Chaque volume n'est pas son propre service, pas plus que ce que vous attendez d'accéder à des URL HTTP individuelles via NSNetServiceBrowser.

Je ne crois pas qu'il existe une interface Cocoa pour AFP. Bill Monk a écrit quelques simple code for mounting que vous pourriez trouver utile.

+0

Oui J'espérais ne pas devoir ouvrir un socket TCP et parler AFP dessus afin de découvrir les noms de partage avant la phase de montage. On dirait que je pourrais avoir à bien. – Adrian

Questions connexes