ฉันกำลังพยายามส่งคำสั่งไปยังพอร์ต tcp โดยใช้netcatและการตอบสนองไปป์
เมื่อฉันรันnetcatและพิมพ์คำสั่งของฉันมันพิมพ์การตอบสนองอย่างถูกต้อง แต่เมื่อฉันส่งคำสั่งจากไพพ์มันจะส่งคำสั่งอย่างถูกต้อง แต่ไม่พิมพ์การตอบสนอง
ดังนั้นวิธีนี้ทำงานอย่างถูกต้อง:
netcat localhost 9009
ขณะนี้เพิ่งส่งคำสั่ง แต่ไม่ตอบสนองการพิมพ์:
echo 'my_command' | netcat localhost 9009
ทำไม?
ฉันnetcatจะพิมพ์ข้อความตอบกลับได้อย่างไร
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)รุ่น; และที่ปลายทางระยะไกลอยู่telegram-cliในเครื่องเดียวกัน
netcatได้รับ EOF ใน STDIN มันจะปิดซ็อกเก็ตทั้งสองด้านทันทีแทนที่จะปิดครึ่งและรอให้รีโมตปิดด้านข้าง หากsocatเป็นตัวเลือกฉันขอแนะนำเป็นอย่างยิ่ง มีเพียงหนึ่งเดียวsocatดังนั้นคุณไม่มีปัญหาเรื่องความสะดวกในการพกพาเนื่องจากมีรสชาติที่แตกต่างกันหลายสิบแบบมันทำงานได้อย่างมีสติมากขึ้นและสามารถกำหนดค่าได้สูง