[解決済み] ブラウザ間(ピアツーピア)接続を行うにはどうすればよいですか?[クローズド]
質問
を使ったホームページを書くにはどうしたらよいでしょうか? HTML5 , CSS と JavaScript をクライアント側で使用することで ページがロードされると、クライアントブラウザ間で直接 tcp/ip 接続されます。 .
このサイトでは、ユーザーの 1 人からの入力をできるだけ早く他のユーザーに送信する必要があるため、クライアント A からサーバー、そしてクライアント B にデータを送信することは良い選択肢ではないので、待ち時間を減らすためにこれを実行する必要があります。
この件に関する以前の投稿を読みましたが、私が見つけることができた利用可能な実用的なソリューション/サンプルはありませんでした。私が読んだところでは、クライアント間の直接接続は、Silverlight、Java、または Flash のようなプラグインを使用して行うことができます。
プラグインを必要としない解決策はありますか?私は、JavaScriptだけを使いたいと考えています。
どのように解決するのですか?
Stackoverflow には、ブラウザでの P2P 接続に関するトピックがいくつかあります。
- HTML5 では、Web アプリケーションがピアツーピアの HTTP 接続を行えるようになるのでしょうか?
- ブラウザで P2P を行うには、どのような技術がありますか?
- HTML5 はピアツーピアをサポートしていますか(WebSocket だけでなく)?
- HTML5 の Web ソケットは、サーバーを使用せずに 2 つのクライアント (ブラウザー) を直接接続できますか (P2P)。
- Web ブラウザでピアツーピア接続を作成することは可能ですか?
- ウェブソケットで p2p (ブラウザ間) 通信は可能ですか?
- HTML 5 Peer to Peer Video の可能性?
- WebRTC はまだどのブラウザにも実装されていないのですか?
多くのトピックで言及されているように、2008 年の HTML5 作業草案には、「ピアツーピア接続」というセクションがありました。
- http://www.w3.org/TR/2008/WD-html5-20080122/#peer-to-peer
- http://www.w3.org/TR/2008/WD-html5-20080610/comms.html#peer-to-peer
からは W3C 作業草稿 2009 年 2 月 12 日 から、"Peer-to-peer connections" のセクションが消えました。しかし、この P2P 接続がなくなったわけではありません。WebRTC (Real-Time Communications) 仕様内で、PeerConnection という名前で復活しています。
- http://dev.w3.org/2011/webrtc/editor/webrtc.html#peerconnection (W3C 編集者草案)
- http://www.whatwg.org/specs/web-apps/current-work/webrtc.html#peerconnection ( 2011年12月5日以降 W3C Editor's Draft に転送されました。 )
2011年10月31日以降、W3C Editor's Draftは公式のWorking Draftとなりました。
PeerConnection (UDP ベース) の唯一の実装は、Ericsson の研究所による修正版 WebKit (2011 年 5 月) に存在し、非常によく動作しています。いくつかのパッチが現在 (2011年10月) WebKit に含まれています (以下の更新を参照!)。
- https://labs.ericsson.com/apis/web-real-time-communication/
- https://labs.ericsson.com/developer-community/blog/update-webkit-contributions
さらに、WebRTC イニシアチブは、Google、Mozilla、Opera によるプロジェクトです。したがって、彼らは PeerConnection に関する仕様を継続しています。
おそらく Chrome (WebKit を使用) が、PeerConnection による WebRTC をサポートする最初の主要なブラウザーになると思われます。
- http://www.webrtc.org/blog/firststeptowardchromeintegration
- http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/95bf1e2e1de852fc
- https://lists.webkit.org/pipermail/webkit-dev/2011-November/018445.html
2012年1月18日より。
Chrome は WebRTC もサポートしています。
. これは
Dev チャンネル (Windows、OSX、Linux) および Canary ビルド (Windows、OSX) で使用できます。
によって
の下でそれを有効にします。
chrome://flags
. のみをサポートしています。
MediaStream
のみをサポートし、いくつかの
デモ
. のようなアプリケーションデータの転送
String
/
ArrayBuffer
/... は、これまでサポートされていませんでした。
から
2012 年 3 月 16 日、WebRTC エディターズドラフト
を分離しています。
"ピアツーピア データ API"
を使用して、一般的なアプリケーションデータを送受信します (
String
,
ArrayBuffer
と
Blob
).
ChromiumはData APIをすぐに実装したい
(2012年4月10日)とあります。
4月3日、Mozilla は最初の実用的な例を Firefox 用の WebRTC を公開しました。
DataChannel は Chrome のバージョン 25 でフラグの後ろに計画されており、一方 Firefox Nightly/Aurora ではテストできます (2012年12月12日)。
2018: DataChannels はまだ実験的なものですが、現在のバージョンの Chrome と Firefox で利用できます。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptで要素のクラスを変更するにはどうすればよいですか?
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] ECMAScriptとは?
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] HTML5でWebアプリはピアツーピアでHTTP接続できるようになるのか?