【发布时间】:2012-04-12 07:41:45
【问题描述】:
这是我的代码:
$socketConnection = @fsockopen ( "127.0.0.1", "23", $errorNumber, $errorString, 30 );
if ( ! $socketConnection )
{
print '<b>Connection Failed</b><br />' . $errorString . '<br />' . $errorNumber;
}
else
{
//stream_set_blocking ( $socketConnection, 0 );
//stream_set_timeout ( $socketConnection, 10 );
print '<b>Connection Success!</b><br />';
fputs($socketConnection,'\r');
sleep(1);
$buffer = fread ( $socketConnection, 20 );
$out='';
for ( $i=0; $i < 20; $i++ )
{
$out .= $buffer [ $i ] ;
}
$response = trim ( preg_replace( "/^.*?\n(.*)\n[^\n]*$/", "$1", $out ) );
echo $response;
//$response = bin2hex($response);
//hex2ascii('ff:fd:25:ff:fb:01:ff:fb:03:ff:fd:27:ff:fd:1f:ff:fd:00:ff:fb');
fclose ( $socketConnection );
}
现在,当我执行代码时,我得到了输出:
ÿý%ÿûÿûÿý'ÿýÿý
没有别的。可能是什么问题?我怎样才能解决这个问题。我在win7上使用xampp 2.5版
此外,我在我的系统上安装了 win7 telnet 服务器,我可以通过 telnet 命令远程登录它。
我用腻子远程登录,这是我得到的:
【问题讨论】:
-
使用
fsockopen可以简单地编写一个telnet客户端。 -
你在远程登录什么?什么类型的设备/服务器?您不是只是误解了收到的数据吗?
-
@castor:这就是我要你的。我是套接字编程的新手,无法解释结果。另外我在我的问题中提到了 telnet 服务器是 Windows 7 附带的服务器。
-
@shiplu.mokadd.im:我尝试过简单地使用 fsockopen,它确实创建了连接,但之后我无法从服务器获得响应,或者我应该说我不知道如何使用 fread 获取响应。
-
你只需要知道你应该从服务器得到什么。用putty试试,然后分析。我无法回答你的问题,因为你正在处理的细节不够详细。
标签: php windows-7 xampp telnetlib