跳至主要内容

[WebService] Tokbox, OpenTok Guide

Tokbox Developer Center @ Official Website

OpenTok Basics

OpenTok Basics @ Tokbox

伺服器和客戶端的功能

所有透過 OpenTok 平台建立的應用程式都有兩大核心,分別是伺服器(server)和客戶端(client):

opentok

Client

App Server

  • 使用 server SDKs
  • OpenTok cloud 建立 Sessions
  • 為 clients 建立 tokens
  • 將 session IDs 和 tokens 傳送給 client

Session

  • 在 OpenTok cloud 中的聊天室(Chat room)
  • 將 clients 彼此連結
  • 將事件傳送給 clients

Sessions

所有 OpenTok 的會議影片都發生在 sessions 中,你可以把 session 視為一個「房間」,在這個房間中 clients 可以和彼此有即時的互動,Sessions 是 host 在 OpenTok cloud 上的,在這上面可以管理使用者的連接(connections)、影音串流、和使用者的事件(例如有新的使用者加入),每一個 session 都有其獨特且唯一的 session ID,要讓多個 clients 彼此互動,使需要將他們連接到帶有同一個 session ID 的 session 即可。

App 伺服器 負責為每一個新的 client 建立新的 session 和產生獨特的權杖(authentication token),接著 client 就會使用這個 token 來和 session 建立連結。client 和 session 建立連線後,便可以發佈(publish) 串流到這個 session 上,並且訂閱(subscribe) 其他 client 的串流。

如果想檢視某一 session 更多的資訊,可以使用 Tokbox 提供的 Inspector

連接、訂閱和發佈

STEP 1:APP 伺服器建立 session

你的 App 伺服器使用 OpenTok server SDK 透過 OpenTok REST API 來建立 session 並取得 session ID,想像 session 就是一個視訊會議的「房間」,在這個時間點裡面還沒有人:

opentok

STEP 2:client 進入應用程式,server 建立 token

當使用者進入 App 後,可以透過 OpenTok Client SDK 來從伺服器端取得 session 的資訊,這會包含獨特的 authentication token(也就是 client 端用的鑰匙):

tokbox

STEP 3:client 和 session 連接並開始串流

client 透過 sessionID 和 token 來和 session 建立連結,此時客戶端可以發佈(publish)影音串流並監聽重要的事件(例如,新的使用者進入 session)。這時候,client 是此 session 的唯一參與者。

tokbox

STEP 4:另一個新的 client 進入 session

當另一個使用者從另一個網頁或行動裝置進入 App 後,這個新的 client 一樣會從 app 伺服器取得 session ID 和獨特的 token,client 可以使用這些資訊來和 session 建立連線。

tokbox

STEP 5:客戶端訂閱彼此的串流

現在和 session 建立連結後,Client 2 可以訂閱 Client 1 的串流,Client 2 便可以發佈自己的影音串流到 session,而 Client 1 也可以訂閱它,現在這兩個 client 已經在一對一聊天室中訂閱了彼此,而且他們都有監聽事件。

tokbox