Отправляю с клиента на сервер :
void Client::send_rec()
{
QString f;
f = "3334";
QByteArray block;
QDataStream send (block);
send << (quint16)0;
send << (quint8)'S' ;
send << f;
send.device()->seek(0);
send << (quint16)(block.size() - sizeof(quint16));
tcpSocket->write(block);
}
и пытаюсь прочитать на сервере
ClientSocket *socket = new ClientSocket (this);
socket->setSocketDescriptor(socketDescriptor);
QByteArray re;
QDataStream in (&re,QIODevice::ReadOnly);
in.setVersion(5);
if (blockSize ==0)
{
if (tcpSocket.bytesAvailable() < sizeof(quint16))
return;
in >> blockSize;
}
if (tcpSocket.bytesAvailable() < blockSize)
return;
quint8 requestType;
QString ret;
in >> requestType;
if (requestType == 'S')
{
in >>ret;
}
где :
ClientSocket::ClientSocket (QObject *parent, const char *name) : QTcpSocket (parent)
{
connect(this,SIGNAL(readyRead()),this,SLOT(readClient()));
connect(this,SIGNAL(disconnected()),this,SLOT(deleteLater()));
connect(this,SIGNAL(readChannelFinished()),this,SLOT(deleteLater()));
blockSize = 0;
}
не могу понять где ошибка... подскажите... Я понимаю что натупил с размерами блока но не могу понять как исправить ...
Подскажите куда копать...