PHP Telnet 连接消息
PHP Telnet connection message
从终端连接到远程设备时,我得到:
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 连接时收不到规则文本?
那是因为你上面得到的输出不是来自服务器,而是来自 telnet verbose。所以从技术上讲,它与套接字通信堆栈无关,而是向用户提供有关如何使用 telnet 的简单消息。另一方面,您在 PHP 中所做的是套接字编程,因此您只会看到 telnet greetings message
之后的内容
至于开头的那些字符,看看RFC
从终端连接到远程设备时,我得到:
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 连接时收不到规则文本?
那是因为你上面得到的输出不是来自服务器,而是来自 telnet verbose。所以从技术上讲,它与套接字通信堆栈无关,而是向用户提供有关如何使用 telnet 的简单消息。另一方面,您在 PHP 中所做的是套接字编程,因此您只会看到 telnet greetings message
之后的内容至于开头的那些字符,看看RFC