【发布时间】:2013-12-15 19:10:46
【问题描述】:
现在服务器(用java实现)将向我发送一些流数据,我的代码如下:
connect(socket, SIGNAL(readyRead()), this, SLOT(read_from_server()));
在read_from_server():
{
while (socket->bytesAvailable())
{
QString temp = socket->readAll();
}
}
但我发现即使是服务器给我发送了一个只有几个字符的字符串,数据被截断,我的函数被调用了两次,因此temp 是我想要的永远不完整的数据。
如果服务器向我发送更长的字符串,我的函数可能会被调用 3 次或更多次,这让我很难知道数据何时传输完毕。
所以任何人都可以告诉我如何轻松地完全接收数据,而无需那么多步骤?很抱歉,如果这与其他一些问题重复,我无法让他们的答案为我工作。非常感谢!
【问题讨论】:
标签: c++ qt qt5 qtcpsocket