Home
概要
チュートリアル

リンク
Home > チュートリアル > 変数の使用1

変数の使用1

サーバースクリプトを活用するために、是非おさえておきたい、変数を使用したスクリプトについて説明します。

グローバル変数を利用したリアルタイムカウンター

変数を利用することで、サーバー内でデータを保持しておくことができます。ここでは、いままで接続した人数を、接続時に知らせるアクセスカウンターを制作してみます。
ますサーバー起動時に呼び出される、onInit()イベントハンドラで、カウンタ用の変数を初期化します。ユーザー接続時に呼び出されるonConnect(client)イベントハンドラで、カウントアップを行い、ユーザーに現在のカウントを送信します。
//コード例 counter.js
function onInit(){
	//カウンター変数を初期化する
	//varをつけないで変数を使用することで
	//このスクリプト内のどこからでも参照
	//することができます。(グローバル変数)
	counter = 0;
}

function onConnect(client){
	//カウンターをカウントアップする
	counter++;
	
	//カウント値をユーザーに送信する
	client.send(counter);
	
	//接続を許可する
	return true;
}
counter.jsをGPSS/scriptsディレクトリに保存し、複数のtestClient.swfでSocklet "counter"に何度か接続して、カウントアップしていく数字が表示されていれば成功です。

client.send(counter); の部分を、 application.sendToAllClients(counter); と変えることにより、新しいユーザーが接続するたびに、既に接続しているユーザーにもカウントを通知するようになります。
//コード例 counterall.js
function onInit(){
	//カウンター変数を初期化する
	counter = 0;
}

function onConnect(client){
	//カウンターをカウントアップする
	counter++;
	
	//カウント値を全ユーザーに送信する
	application.sendToAllClients(counter);
	
	//接続を許可する
	return true;
}

ただしここで制作したカウンターはデータの保存を行っていないため、サーバーの終了・再起動を行うとカウンターがリセットされてしまいます。


サンプルFlash

counterall.jsに接続するサンプルコンテンツです。
このページを表示している最中に、他の人がこのページを表示すると、即座にカウントが反映されます。複数のブラウザを起動するなどして、リアルタイムにカウントが変更されるかどうか試してみてください。
(接続失敗になるときには、サーバーが停止している可能性があります。サーバー保守などにより、カウントは時々リセットされます。)

Flashソースファイル realtimeCounter.fla

前へ|次へ

現在このサイトを 人の方がみています