10.6.5 プログラムの流れ

初期化(受信側、送信側共通の処理

詳しくはこちらを参照

import {RelayServer} from "https://chirimen.org/remote-connection/js/beta/RelayServer.js";
var relay = RelayServer("achex", "chirimenSocket" );

import文でライブラリRelayServer.jsを読み込んだ後、relayServiceのひとつachexに接続しています。 RelayServerの第二引数("chirimenSocket")はそのサービスを使うためのトークンですが、achexは任意の文字列で利用できてます。

Node.jsでは第三,第四引数が必要になります (後述)

チャンネルの作成
  • channel = await relay.subscribe("chirimenMbitSensors");

    変数channelにRelayServerのチャンネルのインスタンスを登録 引数はチャンネル名で、自分で好きな名前を与えられます。

    受信側と送信側で同じサービス、トークン、チャンネルを指定する必要があります。

データの送信
  • channel.send(data);

    任意のデータ(data)をrelayServerの指定チャンネルに送信します。

    dataは文字列だけでなく、連想配列(構造化されたデータ、オブジェクト)も送信可能です。

データの受信
  • channel.onmessage = getMessage; チャンネルにメッセージがポストされた時に起動する関数(コールバック関数)を登録しています。

  • function getMessage(msg) 上で登録した関数の第一引数(msg)のメンバ変数msg.dataに送信されたメッセージが構造もそのままで届きます。