2022-06-08
WebRTCを使うと、ブラウザ間をP2Pで接続できて便利です。ひとまず1:1での接続実験。同一ネットワーク内であればサーバーを介さず、直接つながり、動画、音声、データをリアルタイムに送受信できます。


手元でMacとiPhoneを接続した様子。エコーキャンセルとノイズキャンセルを入れるとハウリングも収まりました。スムーズに動いて楽しいです。

p2ptalk - GitHub
cloneして、Denoをセットアップ、サーバープログラムを動かし、ブラウザで開き、call、表示されたURLを別のブラウザで開くだけで実験できます。(接続情報であるSDPを交換するためのシンプルなサーバープログラム p2ptalk.js を使っています)

既存のインターネットで面倒なのは、ローカルIPアドレス。STUNサーバーでグローバルIPアドレスを引いたり、TURNサーバーを準備して中継させたりする必要があります。それらの運用を考えると、気軽にサービスを出せないのがネックです。

この残念な状況を一変するのが、Internet3!グローバルなIPが振られ、片方がLAN、片方がモバイル環境などであってもP2Pで接続できました!

よりシンプルにアプリを開発でき、つながる仕組み、作っていきます。

links
- WebRTC
- SDPのやり取り|WebRTC徹底解説
- 福井から始まる信頼のインターネット、発足「Internet3 ユーザ会」 at サイバーフライデー

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS