0

我在我的 Web Java 项目中使用 Atmosphere。我想知道我是否应该保存连接?我想为每个组件(聊天、消息、一些游戏、信息等)打开新的套接字。这是个好主意吗?

4

1 回答 1

0

我会说这取决于规模:2-3 个连接可能没问题,十几个可能是个问题。

不过,您应该记住以下几点:

  1. 用户可能会打开多个具有相同地址的选项卡,因此连接可能会重复。
  2. 并非所有用户都拥有支持 websocket 的现代网络浏览器。气氛会优雅地降级,但会以效率为代价。最坏的情况:没有 websockets,没有流式传输,没有长轮询,只是每隔几秒钟的 ajax 请求。如果将有 10 个“连接”,那将是每几秒钟 10 个 ajax 请求。
  3. 另请参阅防止内存不足
  4. 您可以区分消息中的组件并将其包装在一些 api 中。

    request.onMessage = function (response) {
        if (response.component=='chat') {
            listener.onChatMessage(response);
        } else if (response.component=='info'){
            listener.onInfoMessage(info);
        }
    };
    
于 2013-11-22T06:21:10.807 回答