1

サーバーを間に置くことによるネットワーク遅延を発生させることなく、あるブラウザを別のブラウザに接続する方法を探しています。

Javascriptで接続をリッスンする方法が見つからず、接続を確立するだけであるため、HTML5WebSocketが機能するようには見えません。

誰かがこれを行う方法を知っていますか?(2台のブラウザを直接接続しますか?2台のコンピュータのIPを直接経由するように)

4

3 に答える 3

6

JavaScriptで物事が急速に変化するのはおかしいですし、受け入れられた回答(2010年から)がそれは不可能だと言っているという事実:-)

2013年には、ブラウザ間で直接通信する方法があります:WebRTC。HTML5の一部であり、活発に開発されています。たとえば、Chromeの安定版リリースやFirefoxのナイトリービルドですでに利用可能です。

WebRTCブラウザーは、以下のJavaScriptインターフェースを提供します。

  • MediaStreams:ホストハードウェアへのアクセス:カメラ、マイク、スピーカー。
  • NATトラバーサル用のICE。
  • PeerConnection:オーディオ/ビデオストリーミングのためのブラウザ間の直接通信。
  • DataChannel:カスタムデータのブラウザ間の直接通信。

紹介(少し時代遅れで、すでに多くが実装されています)については、このブログ投稿を参照してください。非常に優れた概要については、このビデオ、W3C WebRTC JavaScript API、およびネットワークプロトコルに関連するRFCとインターネットドラフトを参照してください。

于 2013-03-20T18:08:34.437 に答える
1

いいえ、それはJavaScriptでは実行できません。

OSのネットワークAPIにアクセスできる言語で記述されたクライアントが必要です。

于 2010-09-14T23:41:59.827 に答える
1

これは完璧なソリューションではありませんが、クライアントからチャネル上の他のすべてのクライアントに直接ブロードキャストする方法です。注意:それは私が素晴らしくて信頼できるとわかったフリーミアムサービスであるプッシャーを使用します。彼らがそれを行う方法を考え出したのなら、方法があるに違いありません。それらのソースコードはGitHubでも入手できます。

http://pusher.com/docs/client_events

彼らのサイトから:

プッシャーを使用する場合、すべてのトラフィックが従来のWebサーバーを経由する必要はありません。永続性を必要としないいくつかの些細なアクションは、ソケットを介してチャネルに接続されている他のすべてのクライアントに直接送信できます。

お役に立てば幸いです。

于 2011-04-26T08:37:10.963 に答える