PuTTY 在连接到 PHP 中实现的 Telnet/sockets 服务器时显示奇怪的字符
PuTTY shows weird characters when connected to Telnet/sockets server implemented in PHP
我正在开发一个实现套接字和 Telnet 服务器的 PHP 程序。我使用 PuTTY 作为我的 Telnet 客户端。我的问题是,每当我在 PuTTY 中输入内容时,它会在我实际输入之前显示这些奇怪的字符:
我重新安装了 PuTTY,但没有用。
这是我的 PHP 服务器代码:
$sock_server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_bind($sock_server, '127.0.0.1', 9000);
$result = socket_listen($sock_server, 1);
$sock_cli = socket_accept($sock_server);
$msg = "Insert Password: ";
socket_write($sock_cli, $msg, strlen($msg));
$pass = socket_read ($sock_cli, 2048, PHP_NORMAL_READ);
echo $pass;
if ($pass != "1234"){
echo $pass;
exit;
}
感谢任何帮助解决我的问题。谢谢
我在您的示例中没有看到任何 Telnet 代码。您正在使用原始套接字。因此,您需要在 PuTTY 中使用 Raw 连接类型来匹配它。
如果您在 PuTTY 中 select Telnet 连接类型,PuTTY 将向您发送 Telnet 控制序列。您阅读和处理这些序列,就好像它们是纯文本输入一样。
我正在开发一个实现套接字和 Telnet 服务器的 PHP 程序。我使用 PuTTY 作为我的 Telnet 客户端。我的问题是,每当我在 PuTTY 中输入内容时,它会在我实际输入之前显示这些奇怪的字符:
我重新安装了 PuTTY,但没有用。
这是我的 PHP 服务器代码:
$sock_server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_bind($sock_server, '127.0.0.1', 9000);
$result = socket_listen($sock_server, 1);
$sock_cli = socket_accept($sock_server);
$msg = "Insert Password: ";
socket_write($sock_cli, $msg, strlen($msg));
$pass = socket_read ($sock_cli, 2048, PHP_NORMAL_READ);
echo $pass;
if ($pass != "1234"){
echo $pass;
exit;
}
感谢任何帮助解决我的问题。谢谢
我在您的示例中没有看到任何 Telnet 代码。您正在使用原始套接字。因此,您需要在 PuTTY 中使用 Raw 连接类型来匹配它。
如果您在 PuTTY 中 select Telnet 连接类型,PuTTY 将向您发送 Telnet 控制序列。您阅读和处理这些序列,就好像它们是纯文本输入一样。