Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9130

node-webrtcのサンプルを動かしてみる

$
0
0
環境 Windows 10 node-v16.8.0-x64.msi コマンドプロンプト Google Chrome Version 93.0.4577.63 (Official Build) (64-bit) 注意 node.jsがLTS版の node-v14.17.5-x64.msi だと npm install Windowsのアクセス違反のエラーが出て動作しなかった LTS版の方が安定していると信じこんでいて、少しはまってしまった npm ERR! code 3221225477 背景 様々な環境で動作するWebRTCのライブラリを探している ブラウザなしで、気楽に通信テストを行いたい 候補の1つとして、node-webrtc を触ってみる node-webrtc とは Node.js Native Addon that provides bindings to WebRTC M87. 「Node.js のネイティブのアドオンで、WebRTC M87準拠」と捉えればよいでしょうか WebRTC M87は、 Nov 6, 2020にリリースされているようだ node-webrtcのWebRTC M87対応は、Nov 3, 2020あたりにコミットされている WebRTCのRelease Note 2021/9/2時点、以下のリストでは、M89が最新のようだ node-webrtcサンプルを触ってみる サンプルファイルの場所 サンプルの全体の処理の流れ サンプルは、node.jsのExpressフレームワークを用いたWebアプリの形で提供される node.js同士でWebRTC通信をするサンプルではなく、「node.jsサーバー」と「ブラウザ」でWebRTC通信するサンプル browserifyを使って、コードをブラウザで動作するコードに変換している RTCPeerConnection Negotiationは、REST API(HTTP)で実現している RTCPeerConnection Negotiationの流れ 以下の図は、 https://github.com/node-webrtc/node-webrtc-examples より抜粋 Express フレームワークのHTTPサーバーを使って、LocalDescriptionとRemoteDescriptionを交換している 実行したコマンド git clone https://github.com/node-webrtc/node-webrtc-examples.git npm install npm start > node-webrtc-examples@0.1.0 start > node index.js http://localhost:3000 実行結果 ブラウザで、http://localhost:3000 を開く 以下は、一番、簡単そうな DataChannelを使ったテキストデータをやりとりするサンプルを実行した結果 ブラウザ側の Consoleにログが出ることを理解するまでに時間がかかった(実は一番、難しかった) node.jsを実行したターミナルをずっと眺めていた 感想 node.jsの知識不足で、サンプルの構成を解読するのに時間がかかった node.js(node-webrtc)同士で通信するサンプルではないという点を理解して、「node.js(node-webrtc)のコード」と「ブラウザ用のコード」を区別して理解する必要がある(同じjsファイルなので、これはどっちで実行されるのかな?と混乱してしまった) node-webrtcを使えば、ブラウザで動作するWebRTCと同じように書けそうなので、取り急ぎ動かすならば、以下のコードを見るだけでよかったかもしれない https://github.com/node-webrtc/node-webrtc-examples/blob/master/lib/server/connections/webrtcconnection.js

Viewing all articles
Browse latest Browse all 9130

Trending Articles