InstantMessagingInstantMessaging是客户端和服务端之间的一种通信服务,如聊天、消息推送等。一共有三种方式:node内置的net模块实现的通信方式、WebSocket的通信方式、Socket.io的通信方式,Socket.io的通信方式。很相似,服务器:1.创建服务2.创建连接获取客户端信息3.服务器向各个客户端广播数据4.服务器关闭连接客户端:1.客户端连接服务器2.客户端发送data3.客户端接受服务器数据Websocket实现一个简单的聊天窗口1.服务端新建文件WsServer.js//1并创建服务varWebsocketServer=require('ws').Servervarwss=newWebsocketServer({port:9000})//varclientMap=newObject()vari=0wss.on('connection',funciton(ws){console.log(ws+'online')ws.name=++iclientMap[ws.name]=ws//接收客户端数据ws.on('message',function(msg){broadcast(msg,ws)})//客户端关闭监听ws.on('close',function(){deleteclientMap[ws.name]console.log(ws.n??ame+'leave')})})functionbroadcast(msg,ws){for(varkeyinclientMap){clientMap[key].send(ws.n??ame+'say'+msg)}}2.客户端新建一个html页面index.html
