TCP / IP relay de um cliente para vários clientes

4

Eu estou procurando uma ferramenta Linux para rodar sob o fedora que irá abrir um socket tcp / ip para escutar, deixar conectar vários clientes na mesma porta. Então, quando um cliente envia uma mensagem retransmiti-lo para todos os outros clientes. Em vez disso, não retransmiti-lo de volta ao cliente original, mas se ele também retransmite para o cliente de origem, tudo bem. Não tenho certeza se "relay" é o termo certo aqui, talvez se eu tivesse procurado por outra palavra-chave eu teria obtido melhores resultados. Só para ficar claro: não deve haver um protocolo no topo do socket pelo servidor. Se houver um protocolo, ele será implementado no cliente apenas no envio e recebimento. Outro requisito é que a confiabilidade é a coisa mais importante, é por isso que estou procurando por TCP / IP e não por UDP. Quaisquer outras sugestões para torná-lo mais confiável são bem-vindas.

Alguns lugares que eu procurei por uma solução:

link Gera diferentes instâncias de "programa" que ainda precisam se comunicar entre si. é apenas uma solução parcial.

Proxy TCP com vários clientes? A solução que estou procurando não se conecta a uma porta primeiro, portanto, não parece adequada.

link eu não não tem um processo escrito em um soquete, então não parece adequado.

Mesmo que as questões dos dois links anteriores não correspondam às minhas, há coisas que me fazem acreditar que o socat ainda pode ser uma opção, mas não tenho certeza.

    
por Flip 25.10.2016 / 18:02

1 resposta

1

E algo como:

socat tcp-listen:1234,fork,reuseaddr \
      'system:tail -fn +0 file & cat >> file'
    
por 16.01.2017 / 18:49