不带信号/插槽的QTC插座

不带信号/插槽的QTC插座,qt,qt4,qtcpsocket,Qt,Qt4,Qtcpsocket,是否可以在不使用readyRead插槽的情况下使用QTcpSocket 我尝试使用以下代码从tcp服务器读取数据: QByteArray ba; forever { sck.waitForReadyRead(); ba.append( sck.readAll() ); if (sck.bytesAvailable() == 0) break; } 但有时我并没有从服务器接收到所有的数据 是的,这是可能的。TCP是面向流的,您不能像那样退出迭代。您在文档中有一个示例 如您所见,您必须一直

是否可以在不使用readyRead插槽的情况下使用QTcpSocket

我尝试使用以下代码从tcp服务器读取数据:

QByteArray ba;

forever
{
sck.waitForReadyRead();
ba.append( sck.readAll() );

if (sck.bytesAvailable() == 0)
  break;
}

但有时我并没有从服务器接收到所有的数据

是的,这是可能的。TCP是面向流的,您不能像那样退出迭代。您在文档中有一个示例


如您所见,您必须一直阅读,直到连接关闭(()方法返回false)或发送终止序列为止,这取决于您。

您说得对。。。是我的错,我把注意力集中在QTcpSocket上了!!再一次,我必须首先进行RTMFM:(