【问题标题】:Websocket with AngularJS/Asp.net使用 AngularJS/Asp.net 的 Websocket
【发布时间】:2015-06-25 20:37:05
【问题描述】:

我有一个关于 angularjs 和 websocket 的特定问题。我目前有一个使用 websocket 与服务器通信的应用程序,这一切都很好而且很花哨 - 当我以角度移动页面时,websocket 会在所有整洁的路由中持续存在。不幸的是,问题是如果用户刷新页面(出于某种愚蠢的原因),websocket 会断开连接。我想知道处理这个问题的最佳方法是什么。我是否应该在用户尝试刷新时发出警报,我能否以某种方式检测到页面刷新时 websocket 已关闭并开始新的?我只是想知道这样的最佳做法是什么。 谢谢

【问题讨论】:

  • 连接将结束,您无能为力。但是为什么不直接重启呢?

标签: javascript asp.net angularjs websocket


【解决方案1】:

您无能为力,如果用户刷新,就像重新启动应用程序一样,所有引导再次发生并再次创建连接。

您可以使用javascript:onbeforeunload 警告用户,如果刷新或离开,他将失去连接。但是您的用户会因此而讨厌您,这很烦人。

还请考虑,用户可能会打开多个选项卡。

开始一个新的连接是最好的方法。只要确保用户可以以某种方式恢复他的上下文。如果每个选项卡有不同的上下文,那么您必须在 URL 中放置一个 connectionID 参数,以便通过刷新保持它,如果上下文是每个用户会话,那么具有会话 ID 的 cookie 就可以了。

【讨论】:

    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2020-02-15
    相关资源
    最近更新 更多