WebRTC と WebSocket: WebRTC でビデオ、オーディオ、データを処理できるのに、なぜ WebSocket が必要なのでしょうか? [closed] 質問する

WebRTC と WebSocket: WebRTC でビデオ、オーディオ、データを処理できるのに、なぜ WebSocket が必要なのでしょうか? [closed] 質問する

そこで、ビデオ、オーディオ、テキストに対応したチャット アプリを構築したいと考えています。WebSocket と WebRTC のどちらを使用するかを決めるために、時間をかけて調査しました。WebRTC に対応したビデオ アプリやオーディオ アプリはたくさんあるので、これが妥当な選択のように思えます。WebRTC と WebSocket の違いは何ですか?

他に考慮すべきことはありますか? 例えば:

  • WebRTC は新しいため一部のブラウザでのみ使用できますが、WebSocket はより多くのブラウザで使用できるようです。

  • スケーラビリティ - WebSocket はセッションに集中型サーバーを使用し、WebRTC は P2P です。

  • 多重化/複数のチャットルーム - Google+ ハングアウトで使用されており、実装方法についてはまだデモ アプリを参照中です。

  • サーバー - WebSocket を複数のマシンに拡張するには、RedisSessionStore または RabbitMQ が必要ですか?

ベストアンサー1

WebRTC は、ビデオ、オーディオ、任意のデータの高性能かつ高品質な通信を目的として設計されています。つまり、まさにあなたが説明しているようなアプリ向けです。

WebRTC アプリには、ネットワークとメディアのメタデータを交換できるサービスが必要です。このプロセスはシグナリングと呼ばれます。ただし、シグナリングが行われると、ビデオ/オーディオ/データはクライアント間で直接ストリーミングされるため、中間サーバーを介したストリーミングのパフォーマンス コストを回避できます。

一方、WebSocketはクライアントとサーバー間の双方向通信用に設計されています。WebSocket経由でオーディオやビデオをストリーミングすることが可能です(ここたとえば、WebRTC はストリーミングに効果的ですが、そのテクノロジと API は、WebRTC のように効率的で堅牢なストリーミングを実現するようには設計されていません。

他の回答者が述べているように、WebSocket はシグナリングに使用できます。

私はリストを維持していますWebRTC リソース: 2013年のGoogle I/Oをまずご覧になることを強くお勧めしますプレゼンテーションWebRTC について。

おすすめ記事