我需要不断地访问服务器以获取金融工具的实时数据。价格在不断变化,因此我需要每0.5秒请求新的价格。经纪人的REST API可以让我这样做,但是当连接到服务器时,我注意到存在一定的延迟。我刚刚注意到他们也有websocket API。根据我的阅读,它们都有一些优缺点。但对于我想要做的事情,而且速度特别重要,你会推荐哪种API? Websocket确实更快吗?
谢谢!
我需要不断地访问服务器以获取金融工具的实时数据。价格在不断变化,因此我需要每0.5秒请求新的价格。经纪人的REST API可以让我这样做,但是当连接到服务器时,我注意到存在一定的延迟。我刚刚注意到他们也有websocket API。根据我的阅读,它们都有一些优缺点。但对于我想要做的事情,而且速度特别重要,你会推荐哪种API? Websocket确实更快吗?
谢谢!
从网络角度来看,在 Rest/Ajax 调用中有更多操作,因为每次新调用都必须建立一个新连接,而 WebSocket 使用已经打开的连接。此外,在 WebSocket 的情况下,只有在有新数据可用时,服务器才向客户端发送新数据 - 客户端不需要定期请求它。
如果定价信息不会经常更改,REST/Ajax 方案也将经常出现 "无操作" 调用,即客户端请求更新,但没有新数据。WebSocket 情况下永远不会出现这种浪费情况,因为服务器只在有新数据可用时发送。