Russian Qt Forum

Qt => Работа с сетью => Тема начата: Selestin от Ноябрь 01, 2011, 18:21



Название: Проблема с передачей изображения
Отправлено: Selestin от Ноябрь 01, 2011, 18:21
Передаю изображение,но почему-то оно не хочет вставать в структуру пакета

Берем картинку из окошка для авы:
Код:
QByteArray foto;
QBuffer buffer(&foto);
buffer.open(QIODevice::WriteOnly);
ui.avatar->pixmap()->save(&buffer, "PNG");

Запрос к сетевому протоколу на отправку:
Код:
emit SendAvatar(foto);

Сетевой протокол:
Код:
void NetworkThread::SendAvatar(QByteArray avatar)
{
QByteArray data;
QDataStream out(&data, QIODevice::WriteOnly);
out.setByteOrder( QDataStream::LittleEndian );

out << (quint16)MT_UPLOAD_AVATAR;
out << (quint16)(avatar.length());
out.writeRawData(avatar.data(),avatar.length());

tcpSocket->write(data);
}

avatar.size(); - Возвращает корректное значение байт.
Но строка out.writeRawData(avatar.data(),avatar.length()); не приплюсовывает получается данные, т.к. в сниффере видно что отправляется только номер пакета и длина.

Что же не так? -_-