2016-05-04 23 views
-1

私のゲームサーバー用に私のWebサイトでステータスメッセージを作成しようとしています。オンラインの場合、「オンライン」などと言われています。ゲームサーバーがオンラインかどうかを確認するPHPコード

これは現時点では私がいるコードです:

<?php 
$site = '217.78.24.5'; 
$port = '28728'; 
$check = fsockopen("$site", "$port", $errno, $errstr, 6); 
if (! $check){ echo 'Offline'; 
} 
else{ echo 'Online (YAY)';} 
?> 

しかし、それはいくつかの理由でオフラインに私に言って続けています。
ゲームはCSである:GO、

+0

ソケットを閉じることを忘れないでください。 –

答えて

0

はあなたの問題は、$ errnoになると$ errstrは、のためにあなたのコードを編集します重要場合:あなたが表示された場合

$debug = true; 
$site = '217.78.24.5'; 
$port = '28728'; 
$check = fsockopen($site, $port, $errno, $errstr, 6); 
if (! $check) { 
    if($debug){ 
     echo "Error #$errno : $errstr <br>"; 
    } 
    echo 'Offline';  
} 
else { 
    echo 'Online (YAY)'; 
} 

エラー#13:許可が拒否されました

ファイアウォールの可能性があります。

+0

「エラー#110:接続がタイムアウトしました」というメッセージが表示されます。/ –

+0

fsockopenの最後のパラメータ。 6を60秒間変更してみてください。 –

+0

まだ同じエラーですが、ページが読み込まれるまでにかなりの時間がかかります:P –

関連する問題