Poco C++ Websocket 服务器 - 防止它在 60 秒后关闭
Poco C++ Websocket Server - prevent it closing after 60 seconds
我正在尝试使用 Poco C++ lib 的 WebSocket 类在我的服务器应用程序中构建一个漂亮干净的界面。
我的问题是使用示例 WebSocket 服务器应用程序,套接字在 60 秒后对客户端关闭 - 我需要它持续更长时间(想想 +15 分钟......
我尝试将 HTTP 层的超时设置为 10 分钟(3600 秒),这对行为没有影响。
不幸的是,Poco 示例和文档有点单薄 - 所以我希望这里有人能够提供帮助。
可以使用
以下命令设置超时
ws.setReceiveTimeout(Poco::Timespan(days, hours, minutes, seconds, microseconds));
如何保持 Websocket 连接直到任何一侧关闭?
超时可能是由于线程(池)而不是 WebSocket 本身造成的。您可能希望通过其构造函数设置不同的空闲时间。请参阅 http://pocoproject.org/docs/Poco.ThreadPool.html
连接关闭的原因是 WebSocket 是在处理程序中的堆栈上创建的。每个请求都会调用处理程序,并且生存期很短。要让它持续更长时间,您应该在堆上创建它,并在工厂(或其他一些长期存在的对象)中保留对它的引用,以便在处理 HTTP 请求后它保持活动状态。
相关文章:
- Websocket++ 错误:收到错误handle_transport_init TLS 握手失败
- 如何使用 boost beast websocket 客户端收听 websocket feed?
- Boost (Beast) websocket:同步写入挂起
- boost beast Websocket Multi Request Server/Client 并不是真正的 mul
- 提升 Websocket 并io_context可重用性,以实现连接的可重新建立性
- 使用websocket时消息被延迟
- Websocket 客户端在 C++ 中使用 boost::Beast - 在写入操作时抛出错误
- 在QT中的两个窗口之间共享websocket连接
- 断开连接后重新连接boost beast(asio)websocket和http连接时出错
- 为什么Boost Variant使用模板构造函数而不是Boost::beast::websocket::stream的移
- boost beast websocket服务器也接受http连接
- 与Poco库的Websocket连接
- Aysnc 处理程序用于 POCO Websocket 中的传入消息
- C++ WebSocket 帧发送会导致服务器关闭连接
- Boost::Beast Websocket Bidirection Stream (C++)
- 如何在 Boost::Beast 上继续使用 websocket?
- WebSocket++服务器结束,但端口显示仍在使用中
- 通过QT WebSocket将OpenCV Mat Image发送到HTML客户端
- Poco Websocket投掷错误的URL例外.为什么
- Poco Websocket工作了50分钟后