fsockopen() を使用してリスト内の多数の接続を呼び出し、さまざまな IP/ホストおよびポートのオンライン ステータスを確認しています ...
<?php
$socket = @fsockopen($row[2], $row[3], $errnum, $errstr, 1);
if ($errnum >= 1) { $status = 'offline'; } else { $status = 'online';}
fclose($socket);
動作する場合、私はそれについて不平を言っているわけではありませんが、リストで取得している約 15 個の IP/ポートがあります (php for() コマンド ..)。これを行うためのより良い方法があるかどうか疑問に思っていましたか?この方法は非常に遅いです!?! サーバーがすべての応答を返すまでに約 1 ~ 2 分かかります。
アップデート:
<?php
$socket = @fsockopen("lounge.local", "80", $errnum, $errstr, 30);
if ($errnum >= 1) { $status = 'offline'; } else { $status = 'online'; }
?>
リストに表示されます:「ReadyNAS AFP readynas.local:548 online」
これ以上何を話せばいいのかわからない?結果のコレクションをロードするのに永遠に時間がかかります...