0

次の条件で、2つのアプリケーションのサーバークライアントロジックをプログラムする必要があります。

  • 1つのアプリケーションはデータのみを送信し、他のアプリケーションはこのデータのみを受信します
  • どちらもC++です
  • データを受信するアプリケーションは、マルチプラットフォームであるか、少なくともMac、Linux、およびWindowsに存在する必要があります。
  • 数値または明確に定義された構造体のセットを交換する必要があります。データパケットは非常に単純なスケルトン構造です。

私の仕事をシンプルに保つためにこれを手伝ってくれるライブラリがあることを望んでいました。

sys/socket.hソケットプログラミングに関連するようなヘッダーのみを使用する必要があり、他の依存関係は使用しないという事実を強調したいと思います。

ありがとう。

4

3 に答える 3

1

第一に、バークレーソケットインターフェースは実際に使用するのは難しくありませんが、現代の基準ではおそらく少し厄介です。しかし、本当にもっと簡単なものが必要な場合は、のようなものを使用してテキストI / Oを使用しnetcat、ソケットレベルのプログラミングをまったく行わずに、単純なプロセスの生成と配管に置き換えてはどうでしょうか。または、「非常にシンプルな」プロトコルをHTTPトランザクションにして、クライアントでシンプルなCGIスクリプトとcurl / wget(またはlibcurl)を使用しますか?

粗雑なCAPIを使用せずに、ネットワーク上でデータを移動する簡単な方法はたくさんあります。どちらを選択するかは、何をしようとしているかによって異なります。

于 2012-09-06T22:46:49.603 に答える
1

通常、ライブラリは依存関係であるため、要件は少し一貫性がありません。

他の要件を満たすライブラリ:Boost.Asio、http ://www.boost.org/doc/libs/1_51_0/doc/html/boost_asio.html 、およびACE(適応型通信環境)、http://www.cs。 wustl.edu/~schmidt/ACE.html

于 2012-09-06T22:31:47.660 に答える
1

私は個人的にboost.asioよりもpocoを好みます:http://pocoproject.org/しかし、それでも依存関係になります!

于 2012-09-06T23:04:26.087 に答える