Comment puis-je forcer netcat à envoyer immédiatement mon entrée, pas seulement sur de nouvelles lignes? Je veux tester manuellement un parseur HTTP et vérifier comment il se comporte lorsque les lignes d'en-tête sont réparties sur plusieurs paquets.
Réponse
Trop de publicités?Utilisez la touche "eof", CtrlD. Lorsqu'elle est pressée au milieu d'une ligne, elle donnera à netcat tout ce qui a été entré à ce moment-là.
Le buffering est en fait effectué par la couche tty et non géré par nc
du tout. stty -icanon && nc ...
désactiverait le buffering et permettrait à nc
de voir les données telles qu'elles sont entrées dans le terminal, à ce moment-là elles seront envoyées immédiatement. (Remarquez que les commandes stty
et nc
doivent être exécutées ensemble, sinon le shell lui-même réactiverait probablement quand il afficherait son invite.)