Как позволить netcat ждать ответа со стороны клиента?

У меня есть две команды, которые я использую в консоли для отправки и чтения данных, но моя проблема в том, что они не ждут ответа, который мне понадобится.

Моя текущая настройка:

printf "msg\n" | nc localhost 34567  // client sending msg command
nc -l 34567                          // server side
nc localhost 34567                   // client reading msg command
printf "answer\n" | nc -l 34567      // server side

Я бы хотел, чтобы вторая клиентская команда подождала @timeout секунд, в течение которых сервер успеет ответить, но первая команда также должна каким-то образом убедиться, что она отправляет данные, и сервер их получил.

Может, мне стоит просмотреть сообщения об ошибках и искать их в цикле?


person Rafiz    schedule 25.06.2018    source источник
comment
В netcat есть опция тайм-аута, которую вы можете попробовать добавить -w.   -  person U880D    schedule 19.07.2018


Ответы (1)


Попробуй это

{
cat <<EOF ; sleep 1;
GET / HTTP/1.1
Host: www.google.com
Connection: close

EOF
} | nc www.google.com 80
person Lei HUANG    schedule 18.11.2020