我试图在同一时间一个一个地发送2个请求。我的代码如下(这是示例代码):QTcpSocket - 尝试发送一堆请求
QTcpSocket client;
...
client->write(block);
client->write(block);
问题在于。服务器只收到第一个请求。没有第二个要求。我使用wireshark嗅探并看到tcp数据包中没有第二个请求。
我该怎么做才能通过QTcpSocket逐个发送多个请求?
UPD:我在readyRead插入qDebug() << this->bytesAvailable() << "bytes";
到服务器()和在客户端的每个client->write(block);
后qDebug() << this->bytesToWrite();
。另外,我已将此添加到客户端:
connect(this, SIGNAL(bytesWritten(qint64)), this, SLOT(bytesWritten(qint64)));
void Connection::bytesWritten(qint64 count)
{
qDebug() << count << "bytes written";
}
我发送ORDER_STATUS_GET_LIST在第二第一请求和ORDER_GET_LIST恒定。我在服务器中添加了数据输出。我收到了第一条命令。
有输出房源:
客户:
Sending ORDER_STATUS_GET_LIST
11 bytes to write
Sending ORDER_GET_LIST
68 bytes to write
68 bytes written
服务器:
68 bytes
ORDER_STATUS_GET_LIST received
你可以检查输出QTcpSocket ::写?它应该返回已经写入了多少个字节。 – 2012-03-15 19:11:43
可以显示连接到服务器端'readyRead()'信号的插槽的代码。 – alexisdm 2012-03-15 19:56:23