2

我正在尝试使用 Poco C++ lib 的 WebSocket 类在我的服务器应用程序中构建一个干净整洁的接口。

我的问题是使用示例 WebSocket 服务器应用程序,套接字在 60 秒后对客户端关闭 - 我需要它持续更长时间(想想 +15 分钟......)

我尝试将 HTTP 层的超时设置为 10 分钟(3600 秒),这对行为没有影响。

不幸的是,Poco 示例和文档有点薄 - 所以我希望这里有人可以提供帮助。

4

3 回答 3

1

可以使用设置超时

ws.setReceiveTimeout(Poco::Timespan(days, hours, minutes, seconds, microseconds));

如何保持 websocket 连接直到任一方关闭?

于 2014-09-23T08:35:20.237 回答
0

超时可能是由于线程(池)而不是 WebSocket 本身。您可能希望通过其构造函数设置不同的空闲时间。请参阅http://pocoproject.org/docs/Poco.ThreadPool.html

于 2015-08-18T04:50:54.730 回答
0

关闭连接的原因是因为 WebSocket 是在handler的堆栈上创建的。每个请求都会调用处理程序,并且是短暂的。为了让它持续更长时间,您应该在堆上创建它并在工厂(或其他一些长期存在的对象)中保持对它的引用,以便在处理 HTTP 请求后它仍然存在。

于 2015-10-23T14:03:14.300 回答