HTML5、[〜#〜] css [〜#〜]およびJavaScriptを使用してWebサイトを作成するにはどうすればよいですか- ページがロードされると、クライアントブラウザー間の直接tcp/ip接続。
サイトではユーザーの1人からの入力をできるだけ早く他のユーザーに送信する必要があるため、クライアントAからサーバー、次にクライアントBにデータを送信するのは適切ではないため、待ち時間を短縮するためにこれを行う必要がありますオプション。
このテーマに関する以前の投稿を読みましたが、有効な解決策/例はありませんでした。私が読んだものから、Silverlight、JavaまたはFlash。
プラグインを必要としないソリューションはありますか? JavaScriptのみを使用したいと思います。
Stackoverflowには、ブラウザーでのP2P接続に関するいくつかのトピックがあります。
大部分のトピックで述べたように、2008 HTML5ワーキングドラフトは両方とも「ピアツーピア接続」セクションを備えていました。
W3Cワーキングドラフト12 2009年2月 以降、「ピアツーピア接続」セクションはなくなりました。しかし、このP2P接続は失われていません。 WebRTC(Real-Time Communications)仕様内のPeerConnectionという名前で戻ってきました。
2011年10月31日以降、W3Cエディターズドラフトは公式のワーキングドラフトです。
PeerConnection(UDPベース)の唯一の実装は、Ericsson labs(2011年5月)によって修正されたWebKitに存在します。いくつかのパッチが現在WebKitに含まれています(2011年10月-以下のアップデートをご覧ください!):
さらに、WebRTCイニシアチブは、Google、Mozilla、Operaによるプロジェクトです。したがって、PeerConnectionの仕様を継続しています:
おそらくChrome(WebKitを使用)は、PeerConnectionでWebRTCをサポートする最初の主要なブラウザーになります。
2012年1月18日以降、 ChromeはWebRTCもサポートしています 。 Devチャネル(Windows、OSX、Linux)およびCanaryビルド(WindowsおよびOSX) で使用できます chrome://flags
で有効にします。ビデオとオーディオのようなMediaStream
のみをサポートし、複数の Demos でテストできます。 String
/ArrayBuffer
/...などのアプリケーションデータの転送は現在サポートされていません。
2012年3月16日以降、WebRTC Editorのドラフト は、 "Peer-to-peer Data 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の現在のバージョンで利用可能です:
がっかりする必要があります-これは現在JavaScriptだけでは不可能です。 Websocket(およびSocket.IO)は、クライアントとサーバー間のソケットのような接続を許可しますが、クライアント間の接続は許可しません。オプションはプラグインです-Flash、Silverlight、Javaまたはカスタムメイド。
できることは、socket.ioを使用し、単純なプロキシサーバーを記述することでそれをエミュレートすることです。
最近のほとんどのユーザーはNATまたはファイアウォールの背後にいるという事実に注意を向けたいと思います。これは、ユーザーのコンピューターへの着信接続を簡単に確立できないことを意味します。 (可能な場合)動作するのは一部のケースのみであり、ソリューションがさらに複雑になります。