Diferenças entre sockets de domínio UNIX e Internet Sockets [closed]

3

Eu acho que as diferenças são

  • Você se conecta ao servidor fornecendo o caminho do arquivo em vez do IP / porta de destino
  • Não existe uma porta de origem. Além disso, o IP de origem seria apenas localhost.

Acho que cada soquete do Domínio UNIX aberto ainda tem os mesmos dois fluxos, fluxo de entrada e fluxo de saída.

Isso tudo está correto?

Além disso, o arquivo deve ser conhecido ao se conectar a um soquete do domínio UNIX? Um usuário não root pode encontrar soquetes de domínio UNIX e se conectar a eles?

    
por George Bailey 31.01.2011 / 19:10

2 respostas

3

Sim, os soquetes de domínio UNIX usam o sistema de arquivos como o espaço do nome do endereço, ou seja,. o caminho do arquivo em vez de URL / IP e porta. A página man do socket diz

Socket creates an Internet domain TCP or a UNIX domain stream socket and connects it to stdin and stdout. The host argument can be an Internet number in dot-notation (like ''130.149.28.10'') or a domain name. In this case it must be possible to resolve the name to a valid Internet address with gethostbyname. The port argument can be a port number or a service name which can be mapped to a port number by getservbyname. If an UNIX domain socket is wanted to be created instead of an Internet socket, specify the path instead of an internet (canonical domain named or dot-notated) host. The hostname is treated as a pathname if contains at least a single slash. I.e. if one wants to create or connect to a socket in the current directory, use ./filename to specify the connection point.

Os soquetes de domínio Unix são mais rápidos que os IP Sockets para comunicação interprocesso local, consulte aqui e aqui ou neste questão relacionada .

    
por 11.04.2013 / 17:00
-1

No Linux netstat -x revela.

    
por 31.01.2011 / 19:14

Tags