2012-11-01 131 views
0

所以我最近輪到聯繫Hostgator關於我之前啓動的插件,根據服務器狀態返回「在線」或「離線」。做fsockopen只允許某些服務器?

現在,這是問題所在。

Hostgator的fsockopen已禁用,並在騷擾他們後,我讓它啓用。但並不是所有的服務器IPS和端口都可以使用它?

例如:

<?php 
$ip = "play.magicacraft.net"; 
$port = "25567"; 

$online = @fsockopen($ip, $port, $errno, $errstr, 200); 
if($online >= 200) { 
echo '<a href="#" class="MPServer_Online">Online</a>'; 
} 
else { 
echo '<a href="#" class="MPServer_Offline">Offline</a>'; 
} 
?> 

這對我來說是在線返回。

如果我使用另一臺服務器的IP和端口,例如:

$port = 72.20.55.85"; 
$ip = "25570"; 

它說,雖然離線曾經是網上

這是我的結束或他們的故障?我質疑這一點,因爲網站如http://minecraftservers.org/index/1可以訪問這些信息,我不能。

感謝您的時間

+0

的fsockopen不關心IP地址。這聽起來像服務器無法訪問該地址。可能是防火牆問題。 –

+0

在第二個示例中,您錯誤地放置了$ port和$ ip的值......這是您的錯誤還是僅僅是您的問題中的拼寫錯誤? :) – sinni800

+0

@喬納森,我很困惑。它正在檢查我的服務器IP是否在線,因此它需要端口和IP @ Sinni這是我的錯誤:P抱歉 –

回答

1

你檢查,以確保端口沒有被防火牆/ iptables的封鎖?

使用端口80 http://php.net/manual/en/function.fsockopen.php看到試試默認例如,如果它可能是一個端口塊問題

+0

對不起,我剛剛離開了這麼晚的R.S,我剛剛發現它。感謝這篇文章 –