(sender());
//qDebug() « socket->readAll();
//------------------------------------------------------------—
quint16 m_nNextBlockSize;
QDataStream in(socket);
//in.setVersion(QDataStream::Qt_5_5);
for (;;) {
if (!m_nNextBlockSize) {
if (socket->bytesAvailable() < sizeof(quint16)) {
break;
}
in » m_nNextBlockSize;
}
if (socket->bytesAvailable() < m_nNextBlockSize) {
break;
}
QTime time;
QString str;
in » time » str;
request = str;
//qDebug() « str;
}
// QString answ; // Стоит раскомментировать этот стринг, и стринг "request" становится пустым
// Да и вообще, стоит что угодно сделать в этом месте, стринг "request" станет пустым
//queryToSql(request, answ);
qDebug() « request;
//qDebug() « answ;
QString response(QTime::currentTime().toString() + " Hello from server!");
socket->write(response.toLatin1());
socket->disconnectFromHost();
Принимаются данные в сокете, в виде коротких фраз.
Проблема в том, что если я вставляю что-либо перед "qDebug() « request;", то строка request становится пустой. Почему так происходит?
Я вообще не понимаю, как такой код на прием может работать.
Обсуждают сегодня