Comment puis-je obtenir le nom d'hôte du serveur à partir d'un répertoire monté avec du cacao / obj-c?

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

Question

À l'heure actuelle, quand j'ouvrir un fichier avec mon programme, je peux sélectionner des fichiers sur un serveur en cliquant sur le nom du serveur dans la barre latérale dans un NSOpenPanel, puis en sélectionnant le fichier. Pas de problème, cela fonctionne très bien pour l'utilisation du fichier tant que le répertoire partagé est monté. Je reçois un chemin comme « /Volumes/SHARENAME/filename.bla ».

Ma question est de savoir comment puis-je obtenir le nom d'hôte du serveur de l'ordinateur, il est venu. Par exemple, si je clique sur le périphérique avec le nom SERVERNAME sous la rubrique « partagée » dans le NSOpenPanel comment puis-je obtenir SERVERNAME de « /Volumes/SHARENAME/filename.bla ».

Je l'ai regardé un peu de documentation et ont été incapables de trouver une solution à ce problème.

Toute aide vers ce sera grandement appréciée. Merci.

Était-ce utile?

La solution

Ce n'est pas une façon objective-C de faire cela, mais parfois en utilisant popen(..) peut obtenir vous permettent de récupérer des informations, vous pouvez analyser à partir d'une commande unix.

Exemple

#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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top