2012-01-06 3 views
5

私はzeromqのアイデアが正しいかどうか疑問に思っていましたか?私はzeromqを使用してピア・ツー・チャット・アプリケーションを作成することを考えていましたが、zeromqをさらに読むと、使用するもの(TCPソケット)よりも低レベルに見えます。 zeromqはピア・ツー・ピア・チャット・アプリケーションを作成するのに適していますか?またはこのユースケースは該当しませんか?zeromqはピアツーピアビデオチャットのための正しいソリューションです

答えて

11

まず、zeromqがより多く、ソケットより低レベルであるというご意見には同意しません。 AFAICT zeromqは、ソケットAPIに似たAPIを提供します。ただし、同じ送信呼び出しで複数のクライアントにメッセージを送信するなどの処理も​​可能です。

第2に、あなたの質問はあまり明確ではありません:は何を意味しますか?:書き込みが簡単です(低レベルを参照するので)、信頼性があり、効率的です。必要なものは何でも使用できますが、実装の複雑さはもちろん違います。データがそのすべてのデータが到着するよりもtimeously到着したことをより重要ですが、それはまったく違う話題であるので、

また、あなたはおそらく、ビデオチャットアプリケーションにUDPではなくTCPを使用する必要があります。あなたがudpでzeromqを使うことができれば(それを研究しなければならないかもしれないが)、私はあなたがビデオチャットにそれを使用できなかった理由を見ない。

考慮すべき主な要因は、受け入れ可能なQoSを提供するために十分な速さでピア間でデータを送信できるかどうかです。AFAIR会話型サービスの場合、約300msの最大RTTがOKと認識されます。

linkはVOIPに適用されるだけでなく、ビデオチャットreqirementsに適用されるべきである:彼らは250mSecを超えた場合

ほとんどの発信者は、往復遅延に気づくので、一方向レイテンシーの予算は、典型的には150ミリ秒になります。 150 mSecは、高品質の音声を実現するために最大限の一方向レイテンシとしてITU-T G.114勧告にも規定されています。その往復の待ち時間を越えて、発呼者は不安を感じ始め、双方向の会話をし、通常はお互いに話し終わる。 500mSecの往復遅延では、電話をかけることは実用的ではありません。そこでは、冗談を言い、部屋を出た後に他の人を笑わせることができます。

+0

+1 "データが時間通りに届きました"。冗談だ – aitchnyu

0

Ralfが指摘するように、ZeroMQは低レベルではなく、非常に高レベルです。さらに、一般的に、UDPサポートは新しく、まだ普遍的ではないため、ビデオ用にZeroMQを使用することを勧められません(see this answer)。一般的に、ZeroMQはTCPソケットを使用して構築されていますが、PUB/SUBアーキテクチャはUDPに似ていますが、TCPソケットのエラーチェックでは遅延を得ることができないため、滑らかなビデオストリームを得るのに十分低い。

関連する問題