Usando o soquete do domínio Unix para hosts diferentes

1

Na verdade, eu tenho um software que roda no ARM-Linux e tem três aplicativos meus. Eu quero rodar a única aplicação certa no host x86 do Linux.

Os componentes internos do meu programa ARM-Linux se comunicam usando o soquete do domínio Unix.

Meu tipo de soquete é: AF_UNIX

Estou usando o antigo processador ARM que não suporta o Valgrind. Há algum vazamento de memória no aplicativo que está causando a falha. Então, eu construo o aplicativo no host e entendo como estabelecer comunicação entre o ARM e o x86 usando o soquete do domínio?

Agora, tenho uma situação em que o aplicativo foo está no ARM e bar é Linux x86. Pergunta é possível comunicar entre o host diferente?

Eu achava que os sockets de domínio Unix eram interdomínios depois de ler o link abaixo, fiquei confuso.

Eu li,

UNIX domain sockets are a method by which processes on the same host can communicate. Communication is bidirectional with stream sockets.

fd = socket(AF_UNIX, SOCK_STREAM, 0);
    
por danglingpointer 06.02.2018 / 15:42

1 resposta

3

Não. Você não pode se comunicar entre hosts em uma rede usando AF_UNIX sockets, pois eles referenciam inodes locais no sistema de arquivos para ligar o soquete e o sistema de arquivos local está disponível apenas para o host local.

Para se comunicar entre os nós, você precisará usar um AF_INET socket, que se ligará a um endereço IP e porta, que pode ser acessado por um host diferente.

    
por 06.02.2018 / 15:56