o comando netcat não está funcionando no modo bidirecional

0

Estou usando o netcat no Linux para enviar e receber dados (usando o protocolo udp) de uma porta serial para outro dispositivo através da rede. O comando é:

nc -u 192.168.10.12 < /dev/ttyUSB0 > /dev/ttyUSB0 

O USB que estou usando é um conversor USB para serial 485 e estou percebendo que a luz do receptor não está piscando enquanto a luz de transmissão está piscando.

Eu verifiquei se as mensagens foram enviadas e recebidas através da rede usando o tcpdump e pude ver claramente que está transferindo os dados entre minha máquina e a máquina do dispositivo! Agora estou pensando que pode ser problema netcat alguma idéia?

    
por user573014 27.11.2013 / 08:24

1 resposta

0

Apenas jogando isso lá fora ..

Mas o controle-d pode sinalizar o final do arquivo, e talvez seus fluxos de entrada incluam esse caractere. Isso encerraria esse fluxo de entrada, enquanto o outro poderia continuar funcionando.

Embora eu não saiba o que aconteceu em sua situação específica, sei que você pode testar isso via nc na linha de comando:

#create a server
nc -v -v -l -p 9000      #yes, I was testing xdebug...


-------- in a different terminal:

#create a client
nc localhost 9000

Digite algo em ambos. Pressione Ctrl-D em um. Agora as coisas que você digita nesse terminal não aparecem, mas as coisas que você digita no outro terminal ainda serão exibidas.

Me pegou de surpresa. Eu pensei que tinha algum tipo de problema de buffer ou era half duplex. Encontrou sua pergunta antes de encontrar a resposta.

Ah, e para garantir que ele não se comporte dessa maneira:

stty eof undef
    
por 20.10.2015 / 21:46