【发布时间】:2014-03-06 00:17:50
【问题描述】:
我正在编写一个调试/管理节点服务器,它允许用户在机器上执行一个长时间运行的进程。我想将子进程的输出流式传输到他们开始操作的表单。
我可以使用套接字来做到这一点,但我必须让客户端订阅一个频道,并且当它们只与一个客户端有关时,我必须将消息发布到整个频道。
我希望能够将 http 正文向下传输到客户端。我可以用 node 很容易地做到这一点:只需继续写入请求的套接字,完成后调用 end。
有什么方法可以使用 XhrHttpRequest 来调用 Web 服务,让它在新数据可用时触发事件,并在它关闭时触发最终事件?可以用 jQuery 吗?
请注意,这与正常的实时更新并不完全相同,对于后者来说,套接字是一个不错的选择。这是一个单一的请求。我只想得到碎片的回应。
【问题讨论】:
-
听起来像long polling
-
我知道这听起来很像,但我不想投票。我想保留对单个请求套接字的引用并继续向其发送数据。长轮询需要一些其他方式来保存数据(不仅仅是请求的范围)
-
虽然你不想使用套接字,但似乎它们最适合这个。您可以让客户端通过socket.io 连接,然后将数据发送到单个(单个)套接字直到完成。
-
你知道吗?你是对的。我应该让客户端通过套接字连接而不是通过 http 发送“请求”,然后将消息发送回给那个人。
标签: javascript jquery ajax http node.js