【问题标题】:how to keep websocket connect until either-side close?如何保持 websocket 连接直到任一方关闭?
【发布时间】:2013-04-17 11:05:59
【问题描述】:

我想在 websocket 上构建聊天应用程序,并选择 Poco C++ lib 作为 webserver (1.4.6p1)。同时有多个用户,poco websocket在读帧时会被阻塞,但如果浏览器没有收到任何内容,60秒后会自动释放。

我想保持套接字连接以便管理这么多活动(或空闲)用户,但是如何到达那里?

T.H.X

【问题讨论】:

  • 是的,我自己解决了。
  • 这会很有趣,如何 ;-)
  • 简单,在服务器端,处理 PING 和 PONG 消息以使连接在超时之前保持活动状态,祝你好运

标签: websocket poco-libraries


【解决方案1】:

我用这行简单但有点脏的代码“修复”了这个问题:

ws.setReceiveTimeout(Poco::Timespan(10, 0, 0, 0, 0));

基本上,我将接收超时设置为 10 天。 因为我的 websocket 的寿命只有几个小时,所以 10 天对我来说是无限的。

希望对你有帮助。

【讨论】:

  • ws.setReceiveTimeout(Poco::Timespan()); 将其设置为真正的无穷大
【解决方案2】:

看看这个:

Poco::Net Server & Client TCP Connection Event Handler

您有一些关于如何等待传入连接、超时等的示例。

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2012-11-27
    相关资源
    最近更新 更多