我最近遇到过几次情况,服务器将为所有侦听器分发包含完全相同数据的事件流,例如“最近活动”框。

在我看来,让像Apache这样的服务器运行线程处理并查询数据库中包含相同数据的每个彗星流是非常奇怪且效率低的。

对于那些全局(非每个用户)流,我要做的是运行一个连续发出数据的线程,并为每个输出标头然后“合并”到主线程的新请求创建一个新(绿色)线程。

一个线程可以服务多个套接字,还是多个客户端可以侦听同一套接字?

一个例子

o=事件 通用标签

是否存在类似的东西?能行吗?有可能吗?

免责声明:我不是服务器专家。

有帮助吗?

解决方案

检出node.js-单线程,事件驱动的服务器。使用JavaScript作为奖励。

其他提示

如果您使用的是ASP.NET,则以下帖子应该会有用

http://beta.codeproject.com/KB/aspnet/CometAsync.aspx

顺便说一句,有可能实现Comet为每个线程服务多个客户端,但是似乎只有一个线程为所有客户端服务是不够的?

您正在谈论应用于Comet的“异步Web请求”,例如“异步Comet”。

我认为,这种方法在当今非常流行,严重缺陷

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top