オブジェクト送信のための C でのシリアル化
オブジェクトをシリアル化し、ソケット経由で送信するバイト配列に変換することは、複雑なタスクになる可能性があります。 C.ただし、強力なブースト シリアル化 API を利用すると、このプロセスを簡素化できます。
ブースト シリアライザ ライブラリは以下を提供します。
シリアル化と逆シリアル化
オブジェクトをバイト配列にシリアル化するには、次のコマンドを使用します。手順:
#include <boost/archive/binary_oarchive.hpp> #include <fstream> class Object { // ... public: void serialize(boost::archive::binary_oarchive& ar, unsigned int version) { ar & ...; } }; int main() { std::ofstream ofs("output.bin", std::ios::binary); boost::archive::binary_oarchive oa(ofs); Object object; oa << object; }
デシリアライズするにはobject:
#include <boost/archive/binary_iarchive.hpp> #include <fstream> class Object { // ... public: void serialize(boost::archive::binary_iarchive& ar, unsigned int version) { ar & ...; } }; int main() { std::ifstream ifs("output.bin", std::ios::binary); boost::archive::binary_iarchive ia(ifs); Object object; ia >> object; }
ブースト シリアル化 API を採用することで、 C でオブジェクトのシリアル化と逆シリアル化を簡単に実装できるため、ネットワーク ソケット間でデータを保存および送信する柔軟性が得られます。
以上がBoost Serialization によってソケット経由の C オブジェクト送信がどのように簡素化されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。