0xf*_*000 7 javascript node.js server-sent-events
我实际上正在尝试创建一个将使用Server-Sent Events草案的Web应用程序.根据我的知识,SSE每个连接使用一个线程,并且由于服务器将连续将数据泵送到客户端,即使一秒钟也没有闲置,我无法将线程放回池中.
因此,我正在尝试使用Node.JS(我还没有使用到日期)来处理与服务器的连接.我已经浏览了HTML5 Rocks对SSE的介绍,并且有一个代码示例将SSE与Node.JS集成在一起.
但是,我很困惑Node.JS是否会同时处理数千个客户端连接并比Apache服务器更有效地利用服务器?任何人都可以帮助我理解Node将如何在这里行动?
对不起,如果我听起来有点太模糊.我准备尽可能多的澄清!谢谢!
php:
do {
sendMsg($startedAt , time());
sleep(5);
} while(true);
Run Code Online (Sandbox Code Playgroud)
与
节点.js
setInterval(function() {
constructSSE(res, id, (new Date()).toLocaleTimeString());
}, 5000);
Run Code Online (Sandbox Code Playgroud)
区别在于 sleep 会阻塞 php 线程 5 秒。在这 5 秒内,服务器需要有一个专用线程绝对不执行任何操作。每个用户一个线程。
在 Node.js 版本中,setInterval 不会阻塞线程。一个 Node.js 线程可以处理所有用户。
| 归档时间: |
|
| 查看次数: |
6172 次 |
| 最近记录: |