当分组>时,丢弃额外的字节。收到512字节

时间:2016-01-02 16:46:09

标签: c++ qt

我不久前开始使用QT而且我正在制作一个小型网络应用程序。我收到的数据包大小有一些字节限制问题。

这是我用来读取字节的代码:

void client::readyRead()
{
    QByteArray data;
    while(socket->bytesAvailable()){
        data.append(socket->readAll());
    }
    dataReceived(data);
    //emit dataToProcess(data);
}

它工作正常,直到我得到一个大于512字节的数据包。一旦我通过了,其余部分没有放入data,我的程序崩溃了。我使用了Wireshark并确认该数据包只包含1024字节且没有碎片。从我在这里读到的,while循环应该允许程序读取整个数据包。

0 个答案:

没有答案