Как заставить netcat отправлять мои входные данные немедленно, а не только на новых строках? Я хочу вручную протестировать HTTP-парсер и проверить, как он себя ведет, когда строки заголовков распределены по нескольким пакетам.
решение1
Используйте CtrlD, которая по умолчанию установлена как eof
клавиша tty. При нажатии в середине строки, она передаст netcat все, что было введено в этой точке.
Буферизация фактически выполняется слоем tty и nc
вообще не обрабатывается. stty -icanon && nc ...
отключит буферизацию и позволит nc
видеть данные по мере их ввода в терминал, после чего они будут немедленно отправлены. (Обратите внимание, что команды stty
и nc
должны быть запущены вместе, в противном случае сама оболочка, скорее всего, снова включит их при отображении приглашения.)