
Hi folks, I just tested the boost serialization library. I have a question: I need to serialize my objects and then transfer them via tcp connection. Right now I write them into a file like in the examples and then open this file again read it with getc into an array, then send it. Is there an easier way without writing to a file, since this would be a problem with my performance. This is what I do right now: const GPSData g(10,10,10.0); std::ostream teststream; std::ofstream ofs("filename"); boost::archive::text_oarchive oa(teststream); oa << g; ofs.close(); char serializedobj[100], c; FILE * fp; fp=fopen("filename", "rw"); int cnt=0; while((c=getc(fp)) !=EOF) { serializedobj[cnt]=c; cnt++; } serializedobj[cnt]='\0'; tcpclient->send(serializedobj); Thanks in advance, Stefan ___________________________________________________________ Was denken Sie über E-Mail? Wir hören auf Ihre Meinung: http://surveylink.yahoo.com/wix/p0379378.aspx

Hi Stefan,
I need to serialize my objects and then transfer them via tcp connection. Right now I write them into a file like in the examples and then open this file again read it with getc into an array, then send it. Is there an easier way without writing to a file, since this would be a problem with my performance.
Just use a std::stringstream, giving (untested) const GPSData g(10,10,10.0); std::ostringstream teststream; boost::archive::text_oarchive oa(teststream); oa << g; tcpclient->send(teststream.str().c_str()); HTH Martin -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.344 / Virus Database: 267.11.9/117 - Release Date: 3/10/2005
participants (2)
-
Martin Slater
-
Stefan