Как получить имя хоста сервера из установленного каталога с Cocoa / OBJ-C?

StackOverflow https://stackoverflow.com/questions/2580253

Вопрос

В настоящее время, когда я открываю файл с моей программой, я могу выбрать файлы на сервере, нажав на имя сервера в боковой панели в NsopenPanel, а затем выбирая файл. Нет проблем, это работает нормально для использования файла до тех пор, пока установлен общий каталог. Я получаю путь, как "/volumes/sharename/filename.bla".

Мой вопрос в том, как я могу получить имя хоста сервера компьютера. Например, если я нажал на устройство с именем ServerName под «совместному» в NSOPENPanel Как получить Servername из «/volumes/sharename/filename.bla».

Я посмотрел на довольно много документации и не смог найти решение для этой проблемы.

Любая помощь по отношению к этому будет очень оценено. Спасибо.

Это было полезно?

Решение

Это не цель - C способ сделать это, но иногда использовать popen(..) Может быть, позвольте вам схватить информацию, которую вы сможете проанализировать из команды UNIX.

Пример

#include <stdio.h>
#include <string.h>

int main() {
  FILE *fp = popen("df", "r"); // see man page for df
  if (fp) {
    char line[4096];
    while (line == fgets(line, 4096, fp)) {
      if (strstr(line, "/Volumes/SHARENAME")) { // You need the mount point
        char host[256];
        sscanf(line, "%s", host);
        printf("Connected: %s\n", host);
      }
    }
    pclose(fp);
  }
  return 0;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top