- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们的业务应用程序基于 Qt 的生产服务器出现问题。当 SSL 连接总数随时间增加时,一些客户端根本无法连接。
QSslSocket::waitForEncrypted() 开始失败,没有 QSslError,无论设置的超时如何。当这个问题开始出现时,大约有 100 个以上的事件连接。
所以有大约 170 个连接,线程的两倍,并且“lsof”提到了比 1000 个打开的文件多一点(为此我们不得不增加文件“ulimit”...)。
它看起来不像是客户端问题,因为失败和重新连接的 IP 随时间而变化(一些“跃进”成功,但其他则没有)。
如前所述,这发生在 Ubuntu Server(Zentyal 10.04 和“vanilla”9.10)中,但不会发生在 Ubuntu Desktop 9.10 中。
一切都在 VMWare ESX 4.1 中运行,那里的系统使用相同的附加资源进行了测试。系统负载保持在 1.0 以下。守护进程以 root 权限运行。
看起来它与“服务器”/“桌面”内核或其他配置差异有关,但我无法确定究竟是什么使 SSL 连接不握手......在“服务器版本”中......
我们使用的是自己编译的Qt 4.5.3。
编辑:毕竟它在我尝试过的任何 Linux 上都是一样的。感觉这是每个进程的某种套接字限制,女巫大约是 1016 - other_opened_files。我将尝试就此提出新问题。
编辑 2:这是选择和 FD_SETSIZE 限制问题...
最佳答案
问题在于 Qt 使用 select() ,它受 FD_SETSIZE 宏的限制,用于最大选择的套接字/文件。在编译 libQtNetwork 和 libQtCore 之前,我必须更改/usr/include/bits/typesizes.h 中的 FD_SETSIZE 值。
关于linux - Ubuntu 服务器中的 QSslSocket 超时,但桌面中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297941/
在 Windows 7 Ultimate x64 上的 Qt 4.8 中,当我尝试使用 QNetworkAccessManager 通过网络进行 post() 操作时: _net_acc_mgr.po
我正在使用 Qt Creator 4.2.0 运行 Qt 5.7.1(MSVC 2015,32 位)。 QSslSocket 有问题。我收到以下错误: qt.network.ssl: QSslSock
我在 debian wheezy 中使用 Qt 5.4.1 中的 QSslSocket 创建了一个 sslclient 和 sslserver。当我运行程序时,它们根本不工作。调试我的代码后,我看到它
在我的项目中,我需要使用特定版本的 OpenSSL。我同时使用 Qt 4.8.6 和 Qt 5.4.0。我想创建一个自定义 QSslSocket 以传递给 QNetworkAccessManager,
我正在尝试用 Qt 编写一个简单的客户端-服务器应用程序,该应用程序将通过 SSL 进行通信。我尝试使用 QSslSockets,但我一直遇到各种问题。 看看这个: 客户: #define dumpv
我有一个客户端程序和一个服务器程序,它们使用 QSslSockets 进行通信。在服务器程序中,如果客户端成功连接,我将发送一个字符串 "Snameadded",我还想向它发送服务器上的用户列表,但作
这是我编写的同步 TCP 客户端中 read() 语句上方的一小段代码。 std::cout bytesAvailable() waitForReadyRead(); std::cou
我有一个使用QTcpSocket 的客户端-服务器应用程序。现在我想改用加密的 SSL 连接,因此我尝试切换到 QSslSocket。但是我无法与服务器建立连接。这是客户端的代码: Connectio
我正在尝试使用 Qt 文档中的示例代码实现 SSL 服务器。 但是在 serverSocket->startServerEncryption(); 被调用之后,什么也没有发生——无论是 encrypt
是否可以创建一个新的 QSslSocket 并让它获得现有 TCP 连接的所有权,并丢弃旧的 QTcpSocket,而不中断或关闭 TCP 连接? 我需要它在我的 FTP 服务器中实现显式 FTPS,
我使用此代码通过套接字传输大文件内存使用量没有峰值: connect(socket, SIGNAL(bytesWritten(qint64)), this, SLOT(refillSocket
我真的很困惑,希望有人知道我的问题。 我有一个非常简单的 SSL 客户端和服务器。连接很好。沟通很好。当客户端与服务器断开连接时,就会出现问题。这会在服务器上触发一个信号,该信号在 SLOT erro
我对 wkhtmltopdf 有疑问。我在我的 docker 中使用了这样的 wkhtmltopdf。 wkhtmltopdf https://www.google.com google.pdf 然后
我正在编写代理服务器,http 部分已准备就绪,但 https 有问题。我以这种方式创建了一个证书和私钥(据我所知,没有它是行不通的): OpenSSL> req-x509-newkey rsa: 2
我正在尝试通过 SSL 连接到 Twitch 聊天服务器,我基本上复制并粘贴了 QT 中安全 SSL 连接示例中的一些代码。当我可以 connectToHostEncrypted 时,一切都崩溃了。非
我们的业务应用程序基于 Qt 的生产服务器出现问题。当 SSL 连接总数随时间增加时,一些客户端根本无法连接。 QSslSocket::waitForEncrypted() 开始失败,没有 QSslE
需要创建一个使用 SSL 连接到客户端的小型服务器应用程序。一次只能连接一个客户端。 每次客户端尝试建立新连接时,都会调用以下函数: void Control::on_newConnection()
我有一个应用程序作为代理使用 QTcpSocket 拦截 HTTP 请求。我正在尝试将其扩展为也适用于 HTTPS,但它似乎并没有像我预期的那样工作。由于应用程序的独特性,我无法使用 QHttp。 目
我正在 Windows 上开发一个应连接到服务器的应用程序。因此我实现了一个 QSslSocket。 执行连接方法后,sslSocket errorString 发送 The issuer certi
有一个定义 QT_NO_SSL ,如果没有找到 Ssl 库,则定义。还有方法 QSslSocket::supportsSsl() . 但这两者有什么关系,它们是等价的吗?是否QT_NO_SSL QS
我是一名优秀的程序员,十分优秀!