ich versuche verzweifelt ein QByteArray über einen Socket zu schicken.
Hier der "Server-Code":
Code: Alles auswählen
bool Thread::sendData(QByteArray data)
{
QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_3);
out << (quint32)0;
out << data;
out.device()->seek(0);
out << (quint32)(block.size() - sizeof(quint32));
tcpSocket.write(block);
Der QDataStream schreibt ja an sich schon in ein QByteArray und mein ByteArray wird in den Stream eingebettet. Anscheinend hat er aber da probleme mit.
Hier der "Client-Code:"
Code: Alles auswählen
void Thread::readReceivedData()
{
QByteArray receivedData;
mBlockSize = 0;
QDataStream in(&mTcpSocket);
in.setVersion(QDataStream::Qt_4_3);
if(mBlockSize == 0)
{
if(mTcpSocket.bytesAvailable() < (int)sizeof(quint32))
{
return;
}
in >> mBlockSize;
}
if (mTcpSocket.bytesAvailable() < mBlockSize)
return;
in >> receivedData;
MfG viper2000