Pergunta

Estou estudando o Tópicos de programação de gerenciamento de arquivos de baixo nível da Apple. Na seção NSFileHandle, eles dizem:

O escopo do NSFileHandle não se limita a arquivos. Ele fornece o único objeto de fundação que pode ler e gravar em canais de comunicação, como os implementados por soquetes, tubos e dispositivos.

Isso parece ótimo! Para que eu possa conversar via NSFilemanager com um soquete, que transfere esses dados para um servidor da web onde eu mexendo em um arquivo diretamente, por remoto?

Alguém pode dar exemplos de fáceis de entender o que eu poderia fazer com isso,

  • Ao se comunicar com um "soquete"?
  • Ao se comunicar com um "tubo"?
  • Ao se comunicar com um "dispositivo"?

Nota: Não sei nada sobre soquetes, tubos, dispositivos. E tenho certeza de que, por dispositivos, eles não significam o próprio iPhone. Não estou familiarizado com as coisas de rede. Mas eu quero aprender essas coisas !! Talvez você também possa dar uma explicação curta sobre o que são essas coisas?

Foi útil?

Solução

O soquete é um ativo que você usa para se comunicar pela rede. Quando o aplicativo deseja fazer qualquer comunicação de rede, ele precisa se conectar ao host de destino. Para isso a socket é usado. Na maioria dos casos, é usado o protocolo de rede TCP/IP é usado. Isso exige que você especifique um endereço IP ou nome de host para onde se conectar e a chamada porta TCP - que é uma identificação exclusiva do serviço em execução no host de destino, por exemplo, 80 é usado para HTTP. Quando a conexão é estabelecida, você usa o soquete de maneira semelhante à identificadora de arquivo, basta escrever alguns dados nele ou lê -lo. É assim que as redes geralmente funcionam.

O Pipe é uma instalação proveniente da UNIX - lembre -se, o Mac e o iPhone são baseados em sistemas Unix. É uma maneira (meio arcana, mas ainda popular) de comunicação entre dois processos. Do ponto de vista da programação, é semelhante ao identificador de arquivo - quando dois processos são conectados via tubo, eles podem escrever e ler no tubo para se comunicar entre si.

O dispositivo é uma abstração de, bem, um dispositivo. Imagine que você deseja ter um acesso direto à sua dura. A maneira como é feita nos sistemas Unix é que você abre um arquivo especial, que de fato não é um arquivo, mas é criado no sistema de arquivos como um "dispositivo". Verifique o diretório "/dev/" no seu Mac, ele contém dispositivos disponíveis. Para uma drageira, você pode encontrar "/dev/disk0", para sua primeira partição "/dev/disk0s1". Esses "dispositivos" representam drivers de dispositivo carregados no kernel. As extensões do kernel (por exemplo, drivers) podem fornecer esse dispositivo para permitir a comunicação com os programas do espaço do usuário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top