ユーザー情報の配列と、ユーザーのステータス (オンライン/オフライン) を照会できるサイト上の Web サービスがあります。私がやりたいことは、各ユーザーのステータスについて x 秒ごとにサイトにクエリを実行することです。
約 10 人のユーザーがおり、配列の例を以下に示します。必要な配列を変更できます。手動で入力する必要があるのは、ユーザー名と氏名だけです。サーバーから呼び出すことができる「ステータス」。
$users = array
(
"username"=>array("Fullname","Status"),
"johndoe"=>array("John Doe","Online"),
"janedoe"=>array("Jane Doe","Offline")
);
これは、サイトのクエリに使用できる URL の例です (クエリはユーザーのステータス (オンラインまたはオフライン) のみを返します:
http://thesite.com:80/webservice/user/ username /
これは、特定のユーザー ステータスを取得するために使用できるコードです。
$url = 'http://thesite.com:80/webservice/user/johndoe/';
$get = fopen($url, "r");
if ($get) {
while (!feof($get)) {
$state = fgets($get, 4096);
}
fclose($get);
}
echo "User johndoe is: ".$status;
// Output: User johndoe is: Online
ここで必要なのは、x 秒ごとにユーザーとサイトを繰り返し処理し、ユーザーの最後の配列フィールドにある各ユーザーの状態で配列を更新することだけです。
これはクロスドメインの get 関数であり、ajax/jquery を機能させることができなかったため、以下では php と fopen を使用していることに注意してください。Web サービス サーバーを変更するオプションがありません。
ありがとう :)