我试图在另一台服务器上创建一个网页,在该服务器上将显示我自己的服务器的状态。 我正在使用像这样的AJAX请求:
$.ajax({
url: 'status.php',
data: {ip:address},
success: function(data){
//do stuff
},
dataType:'text'
});
将服务器的ip-address发送到status.php脚本,如下所示:
if($_GET['ip']){
$ip = $_GET['ip'];
//var_dump($_GET['ip']);
$port = 64738;
$up = fsockopen("tcp://$ip", $port, $errno, $errstr, 30);
if($up){
echo "success";
}
else{
echo "failure";
}
我重写了这个脚本:
$ip = "<ip_of_my_server>";
$port = 64738;
$up = fsockopen("tcp://$ip", $port, $errno, $errstr, 5);
if($up){
echo "success";
}
else{
echo "failure";
}
所以我可以从命令行使用它来进行测试。
第二个脚本可以完美地运行,几乎可以立即从命令行运行并输出&#34; success&#34;。
但是对于AJAX请求,第一个和第二个脚本都会给出errornr。 30秒后fsockopen输出110(连接超时),因此输出&#34;失败&#34;。
可能是什么原因? 提前谢谢!