Witam. Staram się przesłać obraz QImage przez socket QTCP. Podczas przesyłania po stronie serwera program nieoczekiwanie kończy działanie, w trybie debugowania zauważyłem, że zatrzymuje się na linijce odpowiedzialnej za odbieranie. Korzystam z poniższych instrukcji:
Klient:
QImage image;
image.load("test.png", "PNG");
socket->connectToHost(address, port);
QByteArray ba;
QBuffer buffer(&ba);
image.save(&buffer, "PNG");
socket->write(ba);
Serwer:
QTcpSocket* socket;
QBuffer* buffer = buffers.value(socket);
qint64 bytes = buffer->write(socket->readAll()); //w tej linijce dostaje komunikat, że system wymusił działanie podprocesu
buffer->seek(buffer->pos() - bytes);
QImage image;
image.loadFromData(buffer->buffer());
if (image.isNull())
qDebug("The image is null. Something failed.");
Dodam, że pracuje w programie QT Creator pod Linuxem. Czy powyższe instrukcje są poprawne? Jak mogę rozwiązać problem? Z góry dziękuję za wszelką pomoc:)