1

Windows で 2 つの実行中のプロセスがあり、各プロセスには他のプロセスへのパイプがあります。

複雑なクラスをシリアル化し、あるプロセスから別のプロセスに送信したいと考えています。シリアル化手順は既に完了しており、パイプがバイナリ ストリームを送信していることを理解しています。シリアル化されたデータを送信するにはどうすればよいですか? WinAPI と C++ を使用しています。

カスタムプロトコルを開発する必要がありますか? もしそうなら、それはこの特定のクラスにジェネリックまたはユニークであるべきですか? シリアル化されたクラスを送信するときに仮想テーブルを保持できますか?

この場合に一般的に使用されるモデルまたは設計パターンはありますか? 少しのサンプルコードをいただければ幸いです。ありがとうございました!

4

4 に答える 4

2

のチュートリアルはこちらですboost::serialization。パイプを介してデータを送信し、反対側で逆シリアル化するとうまくいくと想像できました:http://www.boost.org/doc/libs/1_37_0/libs/serialization/doc/tutorial.html

于 2008-12-07T20:05:18.633 に答える
2

protocol bufferをチェックアウトすることをお勧めします。

于 2008-12-07T19:42:55.950 に答える
1

Boost Serializeはタイプについて心配するので、vtableについて心配する必要はありません。あなたがしなければならない唯一のことは、どんなタイプでもシリアル化されていることを確認し、逆シリアル化するときに反対側でまったく同じタイプを使用することです。

于 2008-12-07T22:01:14.030 に答える
1

boost::asio::windows::stream_handle を使用して、io のように iostream を整理し、非同期で実行できます。

于 2008-12-07T19:56:07.293 に答える