Quoth Glus Xof: > The question is that sometimes, when I try to send encrypted messages > throw socket connections using the low-level gio socket objects, the > received messages are broken, uncomplete. > > I wonder if it's due to any specifical bit sequence... but, I haven't > enough knowledge to test and find the ultimate solution. [...] > gsize Gio::Socket->send (Glib::ustring); > Glib::ustring Gio::Socket->receive(gsize size);
Glib::ustring assumes that its contents are a UTF-8 encoded string. If you are encrypting this with any method that does not produce a UTF-8 encoded string as output (ie. most of them), then it's not safe to put it back into a Glib::ustring. Thus, you should be using a byte array instead (or *possibly* a std::string, if you can guarantee that there are no string-conversion steps occurring along the way). I'm not really familiar with Gio::Socket (or its underlying C API), but if it does not provide such an API then you should either rewrap it or use the C API directly, since it's likely that the C API does not perform string conversion. _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
