nodejs编写ws服务是非常简单高效的,nodejs有众多的实现ws的库,如ws,SocketIO等,nodejs的事件线程是单线程的,所以不要在事件线程内做阻塞性的操作,耗时的操作交给工作线程或者子进程操作。
我使用nodejs+vue3实现了写了个简单的聊天室demo
1.nodejs服务端代码
node init初始化项目
安装ts
具体可以看我nodejs 使用ts的文章
安装ws的库
npm install ws
npm install @types/ws
import {
WebSocketServer,WebSocket} from 'ws';
const wss = new WebSocketServer( {
port:3000});
wss.on('connection',(ws)=>{
console.info('new connection join',ws);
ws.on('message',(data)=>{
wss.clients.forEach((client=>{
if (client.readyState === WebSocket.OPEN) {
client.send(data,{
binary:false});
}
}))
console.info('get msg from client',(new String(data)).toString());
})
});
console.log('start success')

本文介绍了如何使用Node.js的ws库创建WebSocket服务器,并与Vue3配合实现实时聊天功能。强调了在Node.js中避免阻塞事件线程的重要性。源码链接可供参考。
3247

被折叠的 条评论
为什么被折叠?



