我正在尝试使用Poco C ++ lib的WebSocket类在我的服务器应用程序中构建一个干净的界面。
我的问题是使用示例WebSocket服务器应用程序,套接字在60秒后关闭到客户端 - 我需要它持续更长时间(想想+ 15分钟......)
我已经尝试将HTTP层的超时设置为10分钟(3600秒),这对行为没有任何影响。
不幸的是,Poco的例子和文档都有点薄 - 所以我希望有人可以提供帮助。
答案 0 :(得分:0)
可以使用
设置超时 ws.setReceiveTimeout(Poco::Timespan(days, hours, minutes, seconds, microseconds));
答案 1 :(得分:0)
超时可能是由于线程(池)而不是WebSocket本身。您可能希望通过其构造函数设置不同的空闲时间。见http://pocoproject.org/docs/Poco.ThreadPool.html
答案 2 :(得分:0)
连接关闭的原因是因为WebSocket是在handler的堆栈上创建的。每个请求都会调用Handler,并且是短暂的。为了让它持续更长时间,你应该在堆上创建它并在工厂(或其他一些长期存在的对象)中继续引用它,所以它在处理HTTP请求后仍然存活。