2013-03-15 13 views
6

私はwebRTCを試していますが、各メッセージに送信できるバイト数には任意の制限があるようです。 This guy私の使用例では、100(いくつかプラス)バイトの限界を選択しました。私のテストでは、200バイトに近いと思われます。しかし、TCPとUDPを読むと、これらのプロトコルは約65kbまでのパッケージをサポートしています。異なるタイプのネットワークの場合はMTUを考慮しても、〜200バイトよりも多くの空き容量が必要です。webRTCデータチャネルメッセージの最大サイズはどれくらいですか?

ハード制限値はthis WebRTC Data Channel Protocol draftですが、これは未定です。

だから私の質問は以下のとおりです。

  1. どのブラウザでも現在のメッセージのサイズ制限を指定する任意のソースがありますか?
  2. 私は限界が常に同じであると仮定することができますし、私のアプリが限界を意識させることができる方法があればそうでない場合は?
+0

他の人が同じような問題でこれを見つけた場合、私はいくつかのほとんど関連する情報を見つけました。現在、クロムは、輻輳検出の代わりにトラフィックを約3kbpsに制限しています。この制限は、それを検出する方法を見つけたときに削除されると言われています。私が経験した問題がそれによって引き起こされても、私は確信していません。 –

+0

私は同じ問題を扱っています。代わりにFirefoxに制限がありますか? – charlypu

+0

Firefoxはこの制限を受けていないようで、Blobの送信をサポートしています。しかしFirefoxでは、代わりにタブ/ブラウザ間の接続を確立することはできません... –

答えて

5

sharefestプロジェクトは、レートの調整を回避する方法を発見した - あなたは(http://www.ietf.org/rfc/rfc2327.txtあたり)帯域幅の設​​定を変更するには、発信プランを変更することができ、ここで

詳細:https://github.com/Peer5/ShareFest/blob/master/public/js/peerConnectionImplChrome.js#L201

私自身の経験から、あなたは」メッセージあたり〜800バイトに制限されています。

+0

ありがとう!私はチャンスを得るとすぐにそれを試してみます。 –

+0

動作するようです!大きなファイルがタブをクラッシュさせましたが、それは私の特定の実装に起因するものと想定しています。 –

+0

ファイル全体を一度にロードしようとしていますか?スライシングを使用してビット単位でファイルを読み込みます。スライシングの概要については、 http://www.html5rocks.com/en/tutorials/file/dndfiles/を参照してください。 http://hcliff.github.com /アンペアは、大きなファイルとwebrtcを扱うことに関するより詳しい: – hcliff

0

私は、データチャネル上でクロム57にjpegを送信していることをテストしています.64kまでのメッセージが信頼できるようです。

WebRTCデータチャネルには、DTTP(UDP経由)を介したSCTPが使用されています.SCTPでは信頼性と順序付けの動作を設定できますが、WebRTCではデフォルトで+信頼性があります。 TCP - メッセージの境界が保存されることを除いて - 少なくとも理論的には。

実際には、Chromeの容量が不足すると部分的なメッセージがjavascriptまで届く可能性があります。そのため、処理する前に完全なメッセージがあることを確認することをおすすめします。

関連する問題