WebSocketクラス
WebSocketによる通信を行います.
準備
WebSocketを利用するためには,まずAPIの設定を行ってください.
メニューのウィンドウ→プロジェクトオプション→API設定を開きます
API設定の「WebSocket」の項目を設定します.
注意点
- API設定は,プロジェクトをzipでダウンロードしても保存されません.プロジェクト名ごとに紐づけられています.プロジェクト名を変更した場合も再設定が必要です.
- 現状,プロジェクトボードにアップロードしたプログラムではWebSocketを利用できません(今後対応する予定です).「クイックアップロード」(公開→HTML生成)でアップロードしたもののみが対応しています.
- クイックアップロードから「Edit」ボタンで編集した場合,API設定はもとのプログラムからは引き継がれません.再設定が必要です(制作者の異なるプログラム間ではAPI設定は共有されるべきではないため).
- 公開したプログラムのAPI設定は,他のユーザから覗かれる可能性があります(↑これらの仕組みは,API設定の盗み見を防ぐものではありません.)
使用方法
//WebSocketオブジェクト作成
w=new WebSocket();
// ルームに入室
room=waitFor(w.enterRoom("myroom"));
// ルームからメッセージを受け取る
room.on("message") \(evt) {
var data=evt.data;
print(evt.clientId, data.content);
};
// ルームにメッセージを送る
room.send{content:"Hello"};
WebSocketクラス
- コンストラクタ:引数なしでWebSocketオブジェクトを作成します.
- enterRoom(
ルーム名
): 指定したルームに入ります(指定されたルームがない場合は新規作成されます)
- 戻り値は RoomオブジェクトのPromiseオブジェクトになります.Roomオブジェクト自身はwaitForで受け取ってください.
- 異なるルーム名でenterRoomを複数回呼び出すことも可能です.複数のルームに同時に入ることができます.
Roomオブジェクト
myId
自分のID
on
("message", イベントハンドラ
)
- メッセージを受け取ったときに
イベントハンドラ
を呼び出します.
イベントハンドラ
に渡されるイベントオブジェクトの内容
clientId
送信者のId
data
データ本体(sendメソッドで指定したオブジェクト)
send
(data
)
- 入室しているすべてのメンバーにオブジェクト
data
を送ります.
members
- 入室しているメンバーオブジェクトの一覧を表す配列です.初期化されていない(undefinedの)場合もあります
- メンバーオブジェクトの内容: