我正在编写一个从套接字接收数据的Qt / C ++程序。我发现我丢失了readyRead信号,因为我的插槽花了很长时间来分析传入的数据。所以现在我把它配对到最低限度:
void test::inputAvailable()
{
while (m_tcpSocket->bytesAvailable())
m_inputBuffer += m_tcpSocket->readAll();
emit(datawaiting());
}
我的问题是:
我读过this similar question,但没有人给出真正的答案。
答案 0 :(得分:0)
答案 1 :(得分:-1)
为什么要共享全局变量,引入同步等,只需读入变量并将其传递给处理程序即可。
void test::inputAvailable()
{
while (m_tcpSocket->bytesAvailable())
QByteArray data += m_tcpSocket->readAll();
emit datawaiting(data);
}