zeromqの私の考えが正しいかどうか疑問に思っていましたか? zeromq を使用してピア ツー ピア チャット アプリケーションを作成することを考えていましたが、さらに詳しく読むと、zeromq は使用するもの (tcp ソケット) よりも低レベルのようです。zeromq はピア ツー ピア チャット アプリの作成に適していますか、それともこのユース ケースは適用されませんか?
2 に答える
まず、zeromqはソケットよりも低レベルであるというあなたの声明に同意しません。AFAICT zeromqは、ソケットAPIに類似したAPIを提供します。ただし、同じ送信呼び出しで複数のクライアントにメッセージを送信するなど、他の処理も実行できます。
第二に、あなたの質問はあまり明確ではありません:あなたは良いとはどういう意味ですか:書きやすい(あなたが低レベルを参照しているので)、信頼できる、十分に効率的など?好きなものを使用できます。もちろん、実装の複雑さのレベルは異なります。
また、ビデオチャットアプリケーションでは、tcpの代わりにudpを使用する必要があります。これは、すべてのデータが到着するよりもデータがタイムリーに到着することが重要であるためですが、これはまったく別のトピックです。udpでzeromqを使用できる場合(そしてそれを調査する必要があります)、ビデオチャットに使用できなかった理由はわかりません。
考慮する必要のある主な要因は、許容可能なQoSを提供するためにピア間でデータを十分に高速に送信できるかどうかです。AFAIRでは、会話型サービスで最大RTTが約300ミリ秒であると認識されます。
次のリンクはVOIPに適用されますが、ビデオチャットの要件にも適用されます。
ほとんどの発信者は、250ミリ秒を超えるとラウンドトリップ遅延に気付くため、片道の遅延バジェットは通常150ミリ秒になります。150ミリ秒は、高品質の音声を実現するために必要な最大の一方向遅延として、ITU-TG.114勧告でも指定されています。その往復の待ち時間を超えて、発信者は双方向の会話をすることに不安を感じ始め、通常はお互いに話し合うことになります。500 mSecのラウンドトリップ遅延以降では、電話は実用的ではありません。部屋を出た後、冗談を言ったり、他の人を笑わせたりすることができます。