2010/5/3 Piscium <[email protected]>:
> I think you don't need base64 at all. It appears that there is a simple bug 
> in your code where you convert from string object to raw data, or vice-versa.
>
> So the easiest is probably if you post the relevant excerpt of your source 
> code, the bug should be easy to find.

Yes, no problem... thanks,


std::string clear_data;
std::string encrypted_data;
std::string send_data = clear_data+encrypted_data;

gsize to_send = send_data.size();
gsize size = to_send;

/*
 * Writing routine excrept
 */

while (to_send > 0)
{
        try
        {
                        size = mysocket->send (send_data.c_str(), size);
        }
        catch (...)
        [...]

        if (size == 0)
        {
                std::cerr
                << "Unexpected short write"
                << std::endl;
                return false;
        }

        to_send -= size;
}

/*
 * Reading routine excrept
 */

buffer=g_new0(gchar,999999);

try
{
        messlen = mysocket->receive (buffer, 999999);
}
catch (...)
{
        std::cerr
        << Glib::ustring::compose ("Error receiving from socket: %1",
                                error.what())
        << std::endl;
        return "";
}

if (messlen==0)
{
        mysocket->close();
        return "";
}
else
{
        buffer[messlen]='\0';
        std::string received_data (buffer);
}
_______________________________________________
gtkmm-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to