peerjs-server経由でチャット

概要

チャットとかのログを残すためにサーバ経由でチャットを送るようにしたかった。
それのためにシグナリングサーバに無理やりくっつけた。

実装

クライアント

  • peer.chat()でチャットを送り、type:CHATのデータをチャットデータとして受信・処理する。
  • ユーザ名とかはいったん毎回送ってる

added chat event · kambayashia/peerjs@f1663c1 · GitHub

サーバ

  • _handleTransmission()のハンドリングにCHATを加える
  • ログ残すのはまた別途
  • ルーム内全員に転送する
  • あとはちょっとバグ修正

added chat event · kambayashia/peerjs-server@73c9889 · GitHub

使い方

# 受信側
peer.on('chat', function(src, payload) {
      /**
       * payload = {
       *     name: "namae",
       *     message: "hogehoge"
       * };
       */

       // DOMにくっつける処理
});

# 送信側
peer.chat(name, message);

まとめ

peerjs-serverいろいろかえてくのやっぱり辛いなと思った。 そして毎回xhr対応忘れてる。