返回列表 回复 发帖

WOW服务状态检测实现思路

在下phper 喜欢玩WOW
逛论坛一阵子 也没留下什么东西 提供个思路给各位朋友 希望有所帮助


基本思路如下:

html 部分
<script language="javascript">
function getObj(objectId) {
     if(document.getElementById && document.getElementById(objectId)) {
// W3C DOM
    return document.getElementById(objectId);
     }
     else if (document.all && document.all(objectId)) {
// MSIE 4 DOM
    return document.all(objectId);
     }
     else if (document.layers && document.layers[objectId]) {
// NN 4 DOM.. note: this won't find nested layers
    return document.layers[objectId];
     }
     else {
    return false;
    }
}
var xmlHttp;
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
  xmlHttp = new XMLHttpRequest();
}
}
function callHTML()
{
  var divlayer = getObj("s01");
  
  var divlayer.innerHTML="检测中...";
  if (xmlHttp.readyState == 4)
  {
   if (xmlHttp.status == 200)
   {
    var divlayer.innerHTML=xmlHttp.responseText;
   }
   else
   {
    var divlayer.innerHTML="检测失败..";
   }
  }
}
function show_serverst(_ip,_port)
{
createXMLHttpRequest();
var url;
url = '/server.php?ip='+_ip+'&port='+_port;
xmlHttp.open("GET", url, false);
xmlHttp.onreadystatechange = callHTML;
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.send(null);
}

/**检测 IP 127.0.0.1  游戏端口 8085 ****/
show_serverst('127.0.0.1','8085');

</script>
<div id="serverlist">
<ul>
  <li>服务器名</li>><li>负载状态</li>
<ul>
<ul>
  <li>燃烧远征01</li>><li><span id="s01">检测中...</span></li>
<ul>
</div>


server.php 文件 放于网站根目录
<?php
header("Content-Type: text/html;charset=utf-8");
$ip   = $_GET['ip'];
$port = $_GET['port'];
/**以上参数未做格式限制**/
if ($ip == '' || $port == '' )
{
echo '参数错误!';
exit();
}
$fp = @fsockopen($ip,$port, &$errno, &$errstr, 2);
  if (!$fp)
  {
   echo '维护中' ;
  }
  else
  {
   echo '火爆开放中';
  }
?>
#########
# css样式未定义 以上只是思路 有需要的朋友可以拿去美化一下
# 如果有多个服务器 需要检测 以上代码需要做局部修改
# 顺便打个广告啦 iwow.udzz.cn  装备查询未完成的系统 : )
#QQ: 108818 欢迎交流
# #######
大家能说下试的结果吗?我现在不太敢动网页部分了!
测试了下,只是出来字体,但没有检测出服务器状态,楼主看看代码还有没有什么问题
原帖由 zydchina 于 2008-4-7 12:31 发表
测试了下,只是出来字体,但没有检测出服务器状态,楼主看看代码还有没有什么问题
出来字体? 是不是 乱码?
加油……慢慢搞   支持哦……
必有水!纯水!
有思路。有了、、哈哈,谢谢了
返回列表