Обнаружение обмена файлами в Какао - PullRequest
2 голосов
/ 17 февраля 2010

Я пытаюсь программно обнаружить, а затем смонтировать сетевые тома, к которым предоставлен общий доступ, используя общий доступ к файлам OS X из приложения Cocoa. Я использую NSNetServiceBrowser, чтобы узнать, какие серверы рекламируют файлообменники - достаточно просто.

Мой вопрос касается следующего шага - как узнать, какие общие ресурсы доступны для данного компьютера? то есть. учитывая, что URL-адреса AFP выглядят примерно так:

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

как мне узнать имена общих ресурсов, которые составляют этот последний URL-компонент? Конечно, мне не нужно делать низкоуровневые вызовы AFP для этого!

1 Ответ

2 голосов
/ 17 февраля 2010

Если под «низкоуровневыми вызовами AFP» вы подразумеваете FPGetSrvrParms(), то почти наверняка это именно то, что вам нужно сделать. Bonjour (NSNetServiceBrowser) предназначен для обнаружения сервисов, а не для выполнения специфических для сервиса коммуникаций. AFP это сервис. Каждый том не является собственной службой, так же как вы не ожидаете получить доступ к отдельным URL-адресам HTTP через NSNetServiceBrowser.

Я не верю, что есть интерфейс Какао для AFP. Билл Монк написал простой код для монтирования , который может оказаться полезным.

...