Проблема в чтении из сокета

У меня есть программа потоковой передачи искры, которая считывает данные с сокета, я создал использование:

nc -lk 9999

Программа считывает данные с сокета, и исключите "Ошибочные" сообщения. Когда я пишу вручную в сокете, он хорошо работает.
Я создал сценарий Python, который часто печатает "Ошибочные" сообщения. Я сохраню результат в использовании файла:

stdbuf -oL python my_script.py &>> my_file.txt

и считайте файл из сокета:

nc -lk 9999 | tail -f my_file.txt

Каждая вещь в порядке, сокет считает данные из файла, в то время как файл обновляется на фоне, Но проблема состоит в том, что моя программа искры doen't получает "Ошибочные" сообщения.
Как сводка: когда я пишу вручную "Ошибочные" сообщения в сокете, искра получают их, Но это не получит "Ошибочное" сообщение, сгенерированное сценарием Python от сокета.
На самом деле программа не работает, если я считал файл из сокета вместо того, чтобы ввести в ней.
Каково различие?

1
задан 20 May 2018 в 17:48

1 ответ

Команда Вы ввели

nc -lk 9999 | tail -f my_file.txt

средства: Возьмите вывод netcat и канал это к tail -f my_file.txt. Но tail не принимает входа, он просто наблюдает файл my_file.txt. Попробовать

tail -f my_file.txt | nc -lk 9999

вместо этого, так, чтобы вывод tail питается к nc.

1
ответ дан 7 December 2019 в 15:19

Другие вопросы по тегам:

Похожие вопросы: