gpt4 book ai didi

javascript - 我可以继续将数据从服务器推送到同一个连接吗?

转载 作者:行者123 更新时间:2023-11-30 18:13:40 25 4
gpt4 key购买 nike

我正在设置一个类似股票代码的网页,用 JavaScript 编写。我还在用 C++ 编写页面与之通信的服务器。

我想让网页变得高效,这样它就可以向应用服务器发送单个订阅消息,然后保持打开的保持连接,不断接收从应用服务器推送的入站数据。

目前,每次从服务器接收数据时,我都必须重新发出网络客户端的订阅调用。问题是每次 XHR 对象命中 readyState(4) 时,调用就有效地完成了。在此之后到达网页的任何数据都将被忽略。 Web 客户端可以重新发送数据并重置对象,但发送是不必要的,仅用于重置 XHR 对象。

我想知道是否有可能以某种方式重置现有的 XHR 对象,并将其置于期望更多入站数据的状态,以便在将更多数据推送到网页时,网页做出响应并处理它。

在此先感谢您提供的任何帮助。注意:本项目未使用 JQuery。

最佳答案

我强烈建议研究 Websockets,尤其是像 socket.io 这样的库,它将各种浏览器的 Websocket 传输实现封装到单个 API(WS、JSON、JSONP、Flash 和长轮询)中。

Socket.io 客户端库现在应该被所有主流浏览器支持。您唯一的挑战可能是找到特定于 C++ 的服务器实现。希望this所以问题可能会有一些帮助

否则,您唯一的其他选择是客户端上的长轮询或 comet,并具有可扩展的合适的服务器端实现(即像 NginX 这样的事件驱动服务器,而不是每个连接的线程架构。)

我非常感谢您致力于 C++,但我的谦虚建议是研究 Node.js,因为它可以而且确实提供了一个非常高效的解决方案,而且只需很少的努力。

HTH 祝一切顺利。

关于javascript - 我可以继续将数据从服务器推送到同一个连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13915404/

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