Como posso usar o socketpair para ter comunicação bidirecional entre aplicativos?

Como posso usar o socketpair para ter comunicação bidirecional entre aplicativos?

Como posso usar o socketpair (C++ Linux) para ter comunicação bidirecional entre (dois) aplicativos? Ambos os aplicativos serão executados no mesmo hardware, por isso estou procurando a implementação do socketpair na mesma plataforma.

Tenho um programa de teste simples que "conecta dois soquetes" e passa os dados entre eles.

Comodevo informá-los de que cada soqueteestá em aplicação DIFERENTE?

Tive algum sucesso ao executar a mesma tarefa usando bluetooth (aplicativos executados em hardware diferente), agora gostaria de aplicar uma abordagem semelhante no mesmo hardware.

Sugestões são apreciadas.

Responder1

Se você usar esta chamada. Então você terá algumas opções (pode haver outras):

  • Chame fork, para que você tenha dois processos com os soquetes. Então você pode ter uma extremidade usada pelos pais e outra pelo filho.
  • Como alternativa, use um soquete nomeado. Então uma extremidade é devida ao criador e a outra é anexada a um nome de arquivo.

informação relacionada