gpt4 book ai didi

javascript - 为什么 pubnub javascript sdk (?) 选择 XHR 而不是 Websocket?

转载 作者:数据小太阳 更新时间:2023-10-29 04:46:05 25 4
gpt4 key购买 nike

我正在开发简单的浏览器实时多人游戏(一台 atm 游戏中有 2 名玩家)游戏。它涉及快速和频繁的玩家移动和方向变化,因此必须非常快速地交换信息 - 我决定尝试 websockets(很乐意使用 pubnub 服务而不是自托管套接字服务器)。

我的问题是,pubnub 总是决定使用 xhr 回退而不是 websockets - 不知道为什么。是否有任何特定要求必须满足才能通过 websockets 进行通信? Http 显然太慢了,扼杀了体验。我在 Mac 上使用最新的 Chrome,因此浏览器兼容性不是问题。

又或者,决定通信协议(protocol)的变数太多,问题无法回答?而我唯一的解决方案是使用自托管套接字服务器?

最佳答案

带有 PubNub 的实时协议(protocol) WebSockets 和 XHR

现代数据流网络和开源解决方案始于 XHR。出于多种原因,这是从速度开始的最佳选择。性能取决于光速以及以太网帧能够在互联网上的设备之间传输的速度。这是协议(protocol)独立性的基础,也是互联网上消息延迟和速度的核心决定因素。 PubNub 客户端 SDK(例如 JavaScript)不提供强制执行特定协议(protocol)的设置。

PubNub 的工作原理

See How PubNub Works scroll down for mouse demo.

PubNub Data Stream Network

PubNub 是当今最快的全局数据流网络,在全局拥有 15 个数据中心,可满足您的高速和低延迟要求。超过 1/4 亿连接到 PubNub 数据流网络的设备体验到每条消息的发送/接收速度从 10 毫秒到 100 毫秒不等。

什么是协议(protocol)独立性?

PubNub 数据流网络 背后的人相信 Protocol Independence and the open mobile web ;这意味着我们将使用最好的协议(protocol)在任何环境中获得连接。 WebSockets 等协议(protocol)可能会因信号塔切换、双 NAT 环境甚至某些防病毒软件或代理边界权限而失效。

PubNub provides client libraries specifically so we can auto-switch the protocol and remove socket-level complexities making it easy for developers to build apps that can communicate in realtime.

随着时间的推移,PubNub 使用了多种协议(protocol),例如 WebSockets、MQTT、COMET、BOSH、long polling 等,我们正在探索目前使用的原型(prototype) future 设计SPDY、HTTP 2.0 等。最重要的是,PubNub 可以在任何网络环境中工作,网络带宽开销非常低,移动设备的电池消耗也很低。

关于javascript - 为什么 pubnub javascript sdk (?) 选择 XHR 而不是 Websocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27730894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com