我是新手,但我真的很喜欢长轮询的想法。
在阅读了它之后,我会像这样实现它:
- 客户端请求服务器 (AJAX)
- 服务器正在轮询数据库以进行更改
- 识别出更改时或超时服务器响应后
我的问题是,对于每个请求,服务器上都会启动一个线程,而且每个线程都会轮询数据库。
在接受所有传入请求的服务器上运行一个线程不是更有效吗?像这样:
- 客户端请求服务器 (AJAX)
- 服务器将请求添加到队列(无响应)
- Worker-Thread 轮询数据库以获取与队列中所有请求相关的更改
- 当识别出更改时,服务器返回相应请求的结果
这样做的好处是,对数据库的轮询要少得多,并且所有请求都在一个线程中处理(更少的内存消耗)
我的问题:
这可能吗/是否有实现或框架?
(我们的项目还没有启动 jet 所以我们使用 PHP 还是 ASP.NET 都没有关系)
TIA 为您提供建议 =)