連線對等端

在上篇文章中,我們設定了伺服器,但它還沒有任何功能,因為我們沒有提供任何服務。這部分才是你一直期待的——實際建立客戶端的對等連線和呼叫邏輯。這是一個複雜的過程,但我們將其分解為多個子部分,以便你可以輕鬆地分塊處理不同的部分。

  1. 首先,在與其他檔案相同的位置建立一個 script.js 檔案——這裡將包含你所有的邏輯。

  2. 我們需要建立一個帶有 ID 的 peer 物件。這個 ID 將用於連線兩個 peer,如果你不建立 ID,則會自動分配一個。將以下內容新增到 script.js 檔案中:

    js
    const peer = new Peer(
      `${Math.floor(Math.random() * 2 ** 18)
        .toString(36)
        .padStart(4, 0)}`,
      {
        host: location.hostname,
        debug: 1,
        path: "/myapp",
      },
    );
    
  3. 然後你需要將 peer 附加到 window 物件,以便可以訪問它。在之前的程式碼下方新增以下行:

    js
    window.peer = peer;
    
  4. 在另一個終端視窗中,透過在你的 phone app 目錄的根目錄下執行以下命令來啟動 peer 伺服器:

    bash
    peerjs --port 443 --key peerjs --path /myapp
    

這看起來與我們在上一步建立的 peer 伺服器非常相似;這是客戶端部分。為了讓瀏覽器連線到正在執行的 peer 伺服器,我們需要告訴它如何連線;這正是上面一行程式碼的作用。