使用node.js创建一个websocket时,不调用res.end(),客户端无法显示数据

用node.js创建一个websocket:
javascriptresponse.writeHead(200,{"Content-Type":"text/event-stream"});
vartimer=setInterval(function(){
varcontent="date:"+newDate().toUTCString()+"\n\n";
response.write(content);
console.log("Datagotqueuedinmemory(content="+content+")");
},1000)
由于websocket,需要不断发送内容,所以不能使用response.end(),但是不执行这句话,前端的数据就始终在等待状态.请问有什么办法能每次response.write()一点,前端就接受一点,类似于php的@flush()那样...
紫衣仙女
浏览 279回答 2
2回答

繁花不似锦

很明显你的代码并不是websocket,而是SSE的服务端代码。代码没有成功的原因是打错字了。。。。varcontent="date:"+newDate().toUTCString()+"\n\n";应为:varcontent="data:"+newDate().toUTCString()+"\n\n";
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript