O que são arquivos de soquete?

23

Recentemente, comecei a usar o tmux; Estou tentando usar o recurso de programação de pares nesse software. Durante o processo, um arquivo de soquete foi criado. Minha pergunta é: o que são arquivos de soquete, como devo abri-los no Ubuntu e como eles são usados?

Moha, o todo-poderoso camelo
fonte

Respostas:

34

Soquetes são um tipo de arquivo especial, semelhante aos soquetes TCP / IP, fornecendo rede entre processos protegida pelo controle de acesso do sistema de arquivos.

Por exemplo, quando você abre um soquete de escuta em um terminal com o netcat:

nc -lU socket.sock

em seguida, envie dados de outro terminal:

echo mytext | nc -U socket.sock

mytext aparece no primeiro terminal.

Por padrão, o nc para de escutar após um caractere de fim de arquivo.

K7AAY
fonte
Parece que não tenho a opção U com nc, recebi uma opção de erro U não definida. É socket.sockum arquivo que você criou anteriormente? Você pode usar o tmux -S e usar o descritor de arquivo do soquete (tipicamente 3) de uma das extremidades do soquete para enviar dados nesse soquete¿?
Adon
@aDoN instalar nc.openbsd, você tem o nc.traditional.
Cuauhtli
18

Um soquete de domínio unix é um canal bidirecional semelhante a um soquete TCP / IP. Um servidor escuta e aceita conexões de clientes e pode se comunicar com o cliente na nova conexão aceita. O que há de especial nos soquetes de domínio unix é que, em vez de terem um endereço IP e um número de porta, eles têm um nome de arquivo como endereço. Isso permite que outros aplicativos que não sabem nada sobre rede sejam informados para abrir o arquivo e ler ou gravar, e os dados são enviados ao servidor e não ao disco.

psusi
fonte
Que idéia simples e elegante!
iono 01/07