Это достаточно странно, я не уверен, как искать ответ. У меня есть программа на Python, которая общается через сокеты TCP / IP с сервером на основе telnet. Если я войду в систему вручную и наберу такие команды:
SET MDI G0 X0 Y0
сервер выложит строку наподобие этой:
SET MDI ACK
Довольно стандартные вещи. Вот странная часть. Если в моем коде я предшествую печати каждой из этих строк каким-то текстом, возвращаемая строка стирает то, что я пытаюсь напечатать перед этим. Например, если я напишу код, он должен выглядеть следующим образом:
SENT: SET MDI G0 X0 Y0
READ: SET MDI ACK
Вместо этого я получаю:
SENT: SET MDI G0 X0 Y0
SET MDI ACK
Теперь, если я сделаю текст "ЧИТАТЬ:" немного длиннее, я смогу лучше понять, что происходит. Допустим, я изменил READ: на 12345678901234567890, так что должно читать как:
12345678901234567890: SET MDI ACK
Вместо этого я получаю:
SET MDI ACK234567890:
Похоже, что любой текст, который я получаю с сервера, каким-то образом удаляет то, чем я пытаюсь предшествовать. Я попытался сохранить все свои сохраненные строки в списке, а затем распечатать их в конце, но это точно так же.
Есть идеи о том, что происходит, или даже о том, как это отладить? Есть ли способ заставить Python показывать мне скрытые символы в строке, например?
ТНХ!