1
ปัญหาในการอ่านจากซ็อกเก็ต
ฉันมีโปรแกรมสตรีมมิ่งประกายไฟที่อ่านข้อมูลจากซ็อกเก็ตที่ฉันอยากใช้: nc -lk 9999 โปรแกรมอ่านข้อมูลจากซ็อกเก็ตและแยกข้อความ "ข้อผิดพลาด" เมื่อฉันเขียนด้วยตนเองในซ็อกเก็ตมันทำงานได้ดี ฉันได้สร้างสคริปต์ python ที่พิมพ์ข้อความ "Error" บ่อยครั้ง ฉันจะบันทึกผลลัพธ์ในไฟล์โดยใช้: stdbuf -oL python my_script.py &>> my_file.txt และอ่านไฟล์จากซ็อกเก็ต: nc -lk 9999 | tail -f my_file.txt ทุกสิ่งก็โอเคซ็อกเก็ตจะอ่านข้อมูลจากไฟล์ในขณะที่ไฟล์กำลังถูกอัปเดตบนพื้นหลัง แต่ปัญหาคือโปรแกรมประกายไฟของฉันไม่จับข้อความ "ข้อผิดพลาด" โดยสรุป: เมื่อฉันเขียนข้อความ "ข้อผิดพลาด" ในซ็อกเก็ตด้วยตนเองจุดประกายจับพวกเขา แต่จะไม่จับข้อความ "ข้อผิดพลาด" ที่สร้างโดยสคริปต์หลามจากซ็อกเก็ต ที่จริงแล้วโปรแกรมไม่ทำงานถ้าฉันอ่านไฟล์จากซ็อกเก็ตแทนที่จะพิมพ์ลงไป อะไรคือความแตกต่าง?