连接在node.js中与response.end丢失

我使用node.js有多个客户端。 现在,在我的代码中,我正在监听一个端口,每次客户端连接时,我都想向所有其他客户端发送广播消息。 每当有新的客户连接时,我都会提出一个新的事件,我正在向他发送一个响应。 当我说response.end(),我不能发送任何东西到特定的客户端。 但是,浏览器不断加载并等待响应。 反正有没有使用socket.io? 我知道socket.io有它的用途,但我真的想知道,如果我可以做到这一点没有socket.io。

我会说在你的客户端使用两个渠道; 一个接收更新(频道保持打开状态,或频繁查询更新),另一个更新数据。 它涉及到一些重组客户端和服务器的工作,但是我认为使用两个通道是解决问题的最简单的方法。

如果您不发送.end(),浏览器将继续等待。 但是,如果closures频道,您将无法通过它发送任何内容。 所以,要么使用socket.io,要么通过XHR打开一个通道,并保持打开,以便每个客户端接收消息。 是由你来充分框架消息(实现你的应用程序协议)。 我认为保罗是对的。

尝试长时间轮询,这意味着让浏览器发出一个“挂起”请求,直到服务器发送回来。

我如何实现基本的“长轮询”?

使用nodejs,您可以轻松地为客户端存储响应对象。