我一直有問題,我一直在篡改腳本。在沒有端口的php中ping服務器?
我想爲我的遊戲服務器做一個在線檢查器,所以我可以指出我的服務器是在線還是從我的網站下來。這是我的代碼:
<?php
if (!$socket = @fsockopen(IP, Port, $errno, $errstr, 2))
{
echo "<center><img style='float:left;' src='images/offline_icon.png'><font style='float:left;' size='5' color='red'><strong>Offline!</strong></font></center>";
}
else
{
echo "<center><img style='float:left;' src='images/online_icon.png'><font style='float:left;' size='5' color='green'><strong>Online!</strong></font></center>";
fclose($socket);
}
?>
我的問題是,它失敗。如果我將超時設置爲30,則會等待30秒,然後將其標記爲脫機並繼續。
如果我在終端上ping IP,它工作得很好。
在搜索關於ping和端口後,它似乎可能是問題。
有沒有辦法在沒有端口的IP上執行普通ping?像linux命令行一樣?
遊戲服務器是否也運行網絡服務器?如果是這樣,你可以使用一個小的HTML文件來確定它是否存在嗎? 'file_get_contents('http://www.example.com/alive.html');'它在失敗時返回false。 – mkaatman 2013-03-05 19:19:13
遊戲服務器遠程託管。我已經知道這是可能的: – 2013-03-05 19:19:48
嘗試使用端口80,這是'http://使用的端口 – 2013-03-05 19:20:28