Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

11.6.5 プログラムの流れ

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

詳しくはこちらを参照してください。

import { RelayServer } from "https://www.chirimen.org/remote-connection/js/beta/RelayServer.js";
const 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の指定チャンネルに送信します。

送信できるのは文字列だけではありません。 連想配列、つまり構造化されたオブジェクトも、そのまま送信できます。

データの受信

channel.onmessage = getMessage;

チャンネルにメッセージが届いたときに呼び出される関数、すなわちコールバック関数を登録しています。

function getMessage(msg)

この関数の第一引数msgのうち、msg.dataに送信されたメッセージが届きます。 届くデータの構造は、送信時のままです。