Networking 什么技术允许使用客户端的带宽分发连续事件?

Networking 什么技术允许使用客户端的带宽分发连续事件?,networking,network-programming,bandwidth,Networking,Network Programming,Bandwidth,假设有一台服务器连续生成事件。该服务器的客户端通过浏览器访问它,浏览器必须接收生成的每个事件。如果服务器直接向每个客户机发送事件,那么在多个客户机之后,它肯定会耗尽带宽。是否有技术允许使用您自己的客户端作为分发这些事件的对等方?您说您的客户端是浏览器,因此服务器无法与客户端通信。但是,如果有新事件,可以使用AJAX询问服务器。这种技术称为长轮询,请参见尝试。它允许您非常轻松地定位特定的客户端浏览器、特定的客户端组或所有连接的人,并向他们推送数据,以便前端JS能够处理数据 我不知道您的后端技术,但

假设有一台服务器连续生成事件。该服务器的客户端通过浏览器访问它,浏览器必须接收生成的每个事件。如果服务器直接向每个客户机发送事件,那么在多个客户机之后,它肯定会耗尽带宽。是否有技术允许使用您自己的客户端作为分发这些事件的对等方?

您说您的客户端是浏览器,因此服务器无法与客户端通信。但是,如果有新事件,可以使用AJAX询问服务器。这种技术称为长轮询,请参见尝试。它允许您非常轻松地定位特定的客户端浏览器、特定的客户端组或所有连接的人,并向他们推送数据,以便前端JS能够处理数据


我不知道您的后端技术,但它与node.js的关系非常好。

如果每个客户端都愿意安装一个软件,这当然是可能的。这些客户端是在internet服务器上,还是在各种各样的internet防火墙后面?后者对家用机器的配置当然是要考虑的。听起来有点像BitTorrent:我可以添加他们不必安装任何类型的软件,只使用浏览器。我相信这在flash中是可能的——例如,我可以自己处理分发和在客户端之间发送消息。不过,我不可能有效地做到这一点——这太复杂了。但我怀疑应该已经有了一个解决方案——比如,twitter是如何发布消息的?twitter不是P2P。你可以使用Flash来实现这个想法,但只能从互联网服务器读取数据;据我所知,你不能在Flash中设置一个监听器,这是中间客户端所需要的。嗯,我明白了,这看起来很糟糕。如果这个想法不可能与闪存我仍然欢迎软件安装解决方案@那将是一个有趣的想法。您是否可以在单独的回答中对此进行扩展?但它是使用客户端分发消息,还是服务器必须向每个客户端发送消息的副本?我不确定它实际上是如何工作的,但服务器通过您定义的某个通道发送数据,而每个收听此通道的客户端都会接收数据。