2013-10-09 3 views
1

Я использую php4 для подключения к старому маршрутизатору.PHP Telnet - отправить BackSpace

После того, как соединение выполнено, и я вошел в Посылаю серию команд ..

Как я знаю, что выход маршрутизатора я могу ответить на вопросы, которые он просит напрямую, поэтому я посылаю:

fputs($fp,"Upgrade\r"); // run upgrade command 
fputs($fp,"y\r"); // Send y for Yes 
fputs($fp,"\r"); // send return 

Следующая строка, которую мне нужно отправить, занимает 5 секунд. Я попытался

fputs($fp,"\^h"); 
fputs($fp,"\x08"); 
fputs($fp,"\BS"); 

все они посылают, но ничего не обратно интервал .. как я могу отправить 5 забоя, чтобы удалить текущую запись, а затем я могу отправить мою новую запись?

Благодаря

+0

Пробовали ли вы регистрировать сетевой трафик, когда делаете это вручную и видите, что передает терминал? – Orbling

+0

Вы попробовали «\ x7f» вместо символа удаления? –

+0

@Mark Baker - Кажется, что добавляет пробелы в конец текущего значения, а не удаляет его. Я отправляю его как: 'fputs ($ fp," \ x7f ");' – JeffVader

ответ

0

Вы пробовали не посылать

chr(8) 

непосредственно (без строковых операций и т.д.)?

Вы знаете, использует ли маршрутизатор стандартный протокол telnet или это проприетарный (расширенный) протокол, используемый каким-либо специальным приложением для управления маршрутизатором?

@Comment: Я не верю, что код ASCII 7 будет работать как это BEL, не так ли? См. http://tools.ietf.org/html/rfc137, стр. 8

+0

Извините, что вы имеете в виду? Я пробовал 'fputs ($ fp, chr (8)); но это не сработало. – JeffVader

Смежные вопросы