76得票9回答
如何查找Qt的版本?

我如何知道我使用的是哪个版本的Qt?当我打开Qt Creator时,它显示“欢迎使用Qt Creator 2.3”。但在构建设置中,它显示Qt版本4.7.1。

29得票7回答
如何确保 QTcpSocket 的 readyRead() 信号不会被错过?

使用QTcpSocket接收数据时,请使用readyRead()信号,该信号表示新数据可用。 然而,在相应的槽函数实现中读取数据时,不会发出额外的readyRead()信号。 这可能是有意义的,因为您已经在函数中,读取了所有可用的数据。 问题描述 假设以下是该槽函数的实现:void re...

26得票4回答
QTcpSocket状态始终为已连接,即使拔掉以太网线。

我有一个QTcpSocket,并且正在循环读取。每次读取完整的数据包或发生错误时,我都会在循环内手动检查套接字的状态: while(true){ if(socket->state()==QAbstractSocket::ConnectedState){ qD...

11得票3回答
C++ Qt - QTcpSocket - 文件未找到

我正在使用 Qt 和 QTcpSocket 创建一个小型的聊天客户端/服务器应用程序。 当我编译我的代码时,编译器会返回以下错误:main.cpp:3:22: fatal error: QTcpSocket: No such file or directory 这是指 #include &lt...

10得票5回答
QTcpSocket客户端自动重连

我正在尝试编写一段代码,使用QTcpSocket定期尝试连接到服务器,直到服务器准备好。当服务器下线时,客户端应该自动周期性地尝试重新连接,直到它再次上线或用户手动关闭程序。 我已经订阅了QTcpSocket的 connected 和 error 信号。当我捕获到错误信号时,我基本上会再次调...

10得票1回答
QTcpSocket::waitForBytesWritten的行为是什么?

我对QTcpSocket::waitForBytesWritten()函数的行为有点困惑... 这个函数会阻塞到什么时候呢? 直到数据被写入操作系统的内部缓冲区以便通过 TCP 传输? 直到数据被物理转换为 TCP 数据包并发送? 直到整个数据被传输并远程客户端确认所有数据包已接收? ...

9得票4回答
使用QDataStream从QTcpSocket读取数据

我需要通过 QTcpSocket 发送二进制数据。我想使用 QDataStream,但是我遇到了一个问题 - 如果在读取数据的时候没有数据到达,它将不会发出任何声音。 比如说,如果我有这样的代码: QString str; stream >> str; 如果套接字中当前没有...

8得票1回答
在连接初始化后,将QTcpSocket移动到新线程中

我有一个线程服务器。 需要在需要运行的线程上创建QTcpSocket,例如:Qt - Handle QTcpSocket in a new thread 通过传递套接字描述符。 我的问题是,我需要拥有一个线程池,并在客户端发送特定令牌后将套接字移动到特定线程上。 换句话说,我需要读取套接...

7得票1回答
QSslSocket: 无法解析SSLV2_client_method

我使用Qt 5.4.1在Debian Wheezy上使用QSslSocket创建了一个sslclient和sslserver。当我运行程序时,它们根本不起作用。调试我的代码后,我发现当它尝试从QSslSocket创建一个新对象时,在构造函数中返回此错误(cannot resolve SSLV2...

7得票4回答
如何在QTcpSocket中读取完整的数据?

现在服务器(使用Java实现)将向我发送一些流数据,我的代码如下: connect(socket, SIGNAL(readyRead()), this, SLOT(read_from_server())); 在read_from_server()函数中: { while (so...