Pergunta sobre a criação do arquivo de soquete para o AF_INET
.
Para AF_UNIX
falar dentro do mesmo host, criamos exemplo de arquivo de soquete/tmp/name_of_the_socket_file
Que AF_INET
tal, requer arquivo de soquete para ser criado?
AFAIK, não preciso criar um arquivo de soquete AF_INET
e posso me comunicar com um modelo simples de cliente e servidor.
Meu colega me disse que preciso criar um arquivo de soquete para o AF_INET
endereço IP como nome do arquivo, não entendo, alguém pode me esclarecer?
Seu colega está errado. Dando uma olhada nas páginas de manual de
bind(2)
você pode ver que diferentes tipos de soquete têm regras:Você verá
ip(7)
que não há nenhuma invocação envolvendoAF_INET
que possa criar um arquivo. Há também este ótimo artigo da IBM sobre essa estrutura de soquete e um pouco de história sobre ela. Formulário de estrutura herdada (BSD 4.4/Unix 98):Estrutura atual:
Veja, nenhuma menção à criação de arquivos.
Citando outra parte das
ip(7)
páginas de manual sobre como esse tipo de socket(AF_INET
) funciona:--recorte--
Mas se você olhar as
unix(7)
páginas de manual, verá alguns exemplos deAF_UNIX
tipo de soquete e sua estrutura básica. Existe até um campo chamadosun_path
que é o caminho para arquivos de soquete (consulte Coisas relacionadas abaixo):tl,dr:
AF_UNIX
é para soquetes (e eles usam arquivos), enquantoAF_INET
é para ligação a endereços IP e criação de comunicações em suas várias formas (unicast, multicast, broadcast...).Coisas relacionadas: