Como posso manter a conexão do netcat aberta?

3

Eu tenho dois arquivos, client.sh e server.sh , todos os dados necessários estão no servidor, que são enviados para o cliente usando netcat , o cliente apenas obtém esses dados e os exibe para o usuário final, o problema é quando tento mostrar a tela de carregamento do diálogo do servidor para o cliente

server.sh

# CLIENT PORT: 8765
# SERVER PORT: 5678

while :
do
    touch registered_users data

    nc -vv -l -p 5678 > data

    case 'cat data' in
        "SPLASH_SCREEN")
            for ((i=0;i<100;i++))
            do
                echo $i
            done | dialog --title 'Loading...' --gauge 'Welcome!' 8 40 0 > /dev/tcp/127.0.0.1/8765
        ;;
    esac
done

client.sh

# CLIENT PORT: 8765
# SERVER PORT: 5678

echo "SPLASH_SCREEN" > /dev/tcp/127.0.0.1/5678

while :
do
    nc -l -p 8765 > server_response
    cat server_response
done
    
por HenriqueHBR 11.02.2018 / 18:07

1 resposta

3

Resolveu isso! só tive que usar a opção -k

 -k    Forces nc to stay listening for another connection after its current
       connection is completed.  It is an error to use this option without the
       -l option.
    
por 11.02.2018 / 20:43