【问题标题】:Pure websockets vs AJAX for browser multiplayer turn-based game用于浏览器多人回合制游戏的纯 websockets 与 AJAX
【发布时间】:2014-04-12 09:56:25
【问题描述】:

我计划开发浏览器多人回合制游戏(每场 2-6 名玩家)。服务器部分计划用 Java 编写。我必须在 websockets 和 AJAX 之间进行选择以在游戏过程中交换数据。我想知道哪个是更好的选择。 我想使用 websockets,因为对我来说支持旧浏览器并不重要,并且最新版本的浏览器支持 websockets。但我知道代理和路由器的 websockets 问题。您认为这些问题对大多数用户有何影响?还有什么更好的方法可以减少这些问题的影响:使用安全的 websockets 而不是通常,在另一个(不是 80)端口上运行 websockets 服务器?还是使用 AJAX 更好? 我知道诸如 socket.io 和 sockJS 之类的库。但它对纯 websocket 很感兴趣。

【问题讨论】:

    标签: javascript ajax websocket


    【解决方案1】:

    您应该选择安全的 WebSocket。这几乎适用于所有网络环境。移动的。企业。等等。例外情况可能是所谓的中间人代理,它可以解包 TLS,然后 WebSocket 将取决于支持和允许它的代理。

    请注意,仅使用 AJAX 您没有推送通道。如果您想使用 Comet 进行推送,那么代理也可能存在问题。

    【讨论】:

      【解决方案2】:

      WebSocket 是一个持久的双向连接。 AJAX 只是请求-响应。对于游戏来说,websockets 更有意义。 WSS 应该通过代理,路由器对于 WS 或 WSS 都不是问题。但是,一些代理对持久连接不友好,并且可能会在一段时间后切断它,没有解决方法。

      【讨论】:

      • 这是否可以从客户端找出代理切断连接?
      • 如果您可以控制代理,您可能可以更新到支持 websocket 的版本。这取决于代理软件。
      • 并非所有代理都切断 websockets。您无法从客户端执行任何操作,但如果它是透明代理,请尝试另一个端口。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-16
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多