シグナリングの概要
OpenTokシグナリングAPIを使用して、OpenTokセッションに接続されているクライアント間でテキストやデータを送信します。
これらのメッセージを活用することで、開発者は基本的なテキストチャットを構築したり、 あるクライアントから別のクライアントへ指示を送ったり、その他にも価値ある体験を実現したりすることができます。
OpenTokクライアントSDKには、OpenTokセッションに接続しているクライアントにシグナルを送信するためのメソッドが含まれています。 また、シグナルを受信した際にディスパッチされるイベントも含まれています。詳細については、 シグナリング開発者ガイドを参照してください。 OpenTok.js, iOS, アンドロイドそして ウィンドウズ, マックオス, そして リナックス. また、 OpenTok REST API サーバーからクライアントにシグナルを送る。
信号ペイロード
各信号には data そして type 値はどちらも文字列である:
-
data— 信号で送信される主な情報が含まれています -
type— 信号をグループ化したりフィルタリングしたりするために使用できる、二次的なフィールドです。
クライアントは data または type 定義されています。このping信号は、
信号の送信者を特定するのみです。
このシグナルには、シグナルを送信したクライアントを識別するプロパティも含まれています。
特定のクライアントに対して、あるいはセッションに接続しているすべてのクライアントに対して、シグナルを送信することができます。
シグナル・デリバリー
OpenTokセッションに接続しているクライアントの場合、OpenTok Client SDKは、 クライアントがシグナルを受信した際にイベントをディスパッチします。しかし、送信側のクライアント側には、 受信者がシグナルを受信したことを示すイベントは存在しません。 Applications で必要な場合は、 シグナリング API を使用して、受信確認を送信元のクライアントに返信することができます。
OpenTokサーバーは、送信元クライアントからのシグナルを受信側クライアントへ中継します。シグナルは、 クライアントとOpenTokサーバー間のTCPベースのWebSocket接続を介して送信されます。シグナルの配信は 厳密には保証されませんが、シグナリングにはTCPに本来備わっているパケット再送信機能が利用されます。
シグナルクライアントから送信されるシグナルについては、シグナルの発生順序が保持されますが、すべてのクライアント間で順序が保持されるわけではありません。 たとえば、クライアント A がセッション内のすべてのクライアントにシグナル 1 と 2 を送信し、 クライアント B がセッション内のすべてのクライアントにシグナル 3 と 4 を送信するセッションを考えてみましょう。 シグナル1は シグナル2よりも先に受信され、シグナル3はシグナル4よりも先に受信されます。しかし、 クライアントAのシグナルがクライアントBのシグナルよりも先に受信されるという保証はありません。
シグナリング機能は、すべてのOpenTokクライアントで利用可能です。シグナリングは 違う ~を必要とする OpenTok メディアルーター — これは すべてのセッション(ルーティングまたは中継)で利用可能です。