сокеты — PHP сообщение о соединении Telnet

При подключении от терминала к удаленному устройству получаю:

Trying XX.XX.XX.XX...
Connected to XX.XX.XX.XX.
Escape character is '^]'.User Name:

Но при подключении через PHP и чтении данных с помощью функции socket_read

Я получил:

��������User Name:

Вот как выглядит мой код подключения и чтения:

$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

$buffer = @socket_read($this->socket, $this->length);

Почему я не получаю регулярный текст при подключении с php?

0

Решение

Это связано с тем, что вывод, который вы получаете выше, происходит не с сервера, а с подробного описания telnet. Технически, он не играет роли в стеке сокетов, а представляет собой простое сообщение для пользователей о том, как использовать telnet. С другой стороны, то, что вы сделали в PHP, это программирование сокетов, так что вы увидите только то, что следует за телнетом. приветственное сообщение

Что касается этих персонажей в начале, взгляните на RFC

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]