
Hi, I have a more fundamental question/inquiry about the serialization library. What I want to do is to use the serialization library to send classes over a socket. Even though archives are not supposed to be used at streams I figured that it should be possible to create a oarchive on the sender side, create a iarchive on the receiver side, and use these for multiple, successive write / read operations in block mode. In order to test that assumption I created a test program to see if it would be possible. Here the pseudo code: void sync_streams(stringstream &os, stringstream& os) { // write data from one sting stream to the other // this emulates sending the data on a socket int rd_avail = os.tellp() - os.tellg(); os.read(buffer, rd_avail); is.write(buffer, rd_avail); } stringstream os, is; boost::archive::text_oarchive oa(os); sync_streams(os, is); // sync preamble boost::archive::text_iarchive ia(is); oa << object1; sync_streams(os, is); // sync object block ia >> rdObject1; oa << object2; sync_streams(os, is); // sync object block ia >> rdObject2; While I made this work, I wonder if it is a hack or if this is a valid use case for the serialization library. I looked at the asio projects example/source, there it was done by using a full archive for each object to be transmitted. Sending an archive every time seems a bit expensive too me, since a full preamble is sent everytime and I would loose all the pointer tracking and other great features from the serialization library. Regards, Gerd