1

ソケットプログラミングを始めています。現在、サーバーとクライアントの間でデータを転送しています scp を使用して、データのストリームを処理するときにスケーリングが非常に不十分です (新しい scp セッションごとに新しい TCP 接続を開く必要があり、これにより速度が本当に遅くなります)。

テキストを複数のクライアントに転送したいのですが、1 日でこのテキストのサイズが数ギガバイトに達する可能性があるため、何らかの圧縮を実装することが重要です。

このコードを簡単に記述できる優れたライブラリまたはラッパーを推奨できる人はいますか? 標準の C++ ソケット インターフェイスは、操作が非常に面倒です。これまでのところ、私の唯一のリードは Boost ASIO ですが、それには圧縮機能がないようです。どんな提案でも大歓迎です。

4

3 に答える 3

2

圧縮部分には、 zlibを使用できます。zlib には多くのC++ インターフェイスが用意されています。また、zlib を直接使用してメッセージを圧縮および解凍することもできます。

于 2012-07-09T03:55:38.843 に答える
1

圧縮とマルチキャストは2つの直交する問題です。以前のポスターで述べたように、データに最適な圧縮ライブラリを選択してください。

マルチキャストには複数のオプションがあり、OpenPGMとRSPはオープンソースです。

于 2012-07-09T13:12:19.947 に答える
1

UDTを試してください。

UDT は、広域高速ネットワークを介した分散データ集約型アプリケーション向けの、信頼性の高い UDP ベースのアプリケーション レベル データ転送プロトコルです。UDT は UDP を使用して、独自の信頼性制御および輻輳制御メカニズムでバルク データを転送します。

圧縮が利用可能かどうかはよくわかりません...

于 2012-07-08T20:09:42.647 に答える