2016-08-30 3 views
0

Я делаю telnet-подключение к устройству Linux (используя код C#) и выполняю некоторые команды и в которых команда имеет более 50 символов. Команда выполнена успешно, однако ответ telnet содержит \ r \ n после ~ 65 символов, которые вызывают проблему.Telnet Response содержит r n в середине после ~ 50 символов

Сценарий ожидает ответа как полную команду в одной строке и вывод команды в следующей строке. Однако я получаю что-то вроде ниже:

команда, отправленная:/корень/просители/wpa_cli -i p2p0 p2p_peer 00: 11: 22: 33: 44: 55

Ответ:/корень/просители/wpa_cli -i p2p0 p2p_peer 00: 1 1: 22: 33: 44: 55 00: 11: 22: 33: 44: 55

Как исправить эту проблему? Почему он добавляет \ r \ n после определенных символов?

ответ

0

\r\n в строке C#, означает новую строку (есть также описание here). Я думаю, что может случиться, что telnet всегда дает ответы, отформатированные как строка с заданной максимальной длиной. Не могли бы вы попробовать добавить что-то к скрипту, который переформатирует ответ, удалив все вхождения \r\n?

E.g. Вы можете заменить их пустой строкой, используя String.Replace

[EDIT]: Я не знаю, можно ли запросить ответ с другой длиной строки. Я видел here, что есть опция toggle clrf с Telnet, но это может быть просто для отправки запроса.

+0

Возможно ли изменить максимальную длину ответа telnet? если да, то как это сделать? – user3441116