现在服务器(使用Java实现)将向我发送一些流数据,我的代码如下:
connect(socket, SIGNAL(readyRead()), this, SLOT(read_from_server()));
在read_from_server()
函数中:
{
while (socket->bytesAvailable())
{
QString temp = socket->readAll();
}
}
我发现即使服务器只发送了几个字符的字符串,数据也会被截断,并且我的函数被调用两次,因此temp
是我想要的不完整的数据。
如果服务器发送了更长的字符串,我的函数可能会被调用三次或更多次,这使得我难以知道何时数据被完全传输。
有没有人告诉我如何轻松地完全接收数据,而不需要那么多麻烦的步骤?如果这与其他问题重复了,我很抱歉,我无法让它们的答案对我起作用。非常感谢!