1、A发送消息到服务器
2、服务器接收到消息后会给所有用户发送这条消息
3、如果有用户断开连接,则不用给此用户发送
一、创建持久性连接服务器 net,设置其端口号为9000
const net = require(“net”);
const server = net.creatServer();
server.listen(9000);
二、当用户连接到服务器以后
server.on("connection",(client)=>{})
三、存储下所有的用户
const clients = [];
clients.push(client);
四、给用户编号,断开连接后删除
client.id = clients.length;
4.1 创建client.js文件,连接到服务器
const net = require("net");
const client = new net.Socket();
client.connect(9000,"127.0.0.1",()=>{
});
4.1.1 接受服务器传递过来的消息
client.on("data",(data)=>{
console.log(data)
})
4.2 接收客户端传递过来的消息
client.on("data",(data)=>{
})
4.2.1将buffer文件转换为字符串
client.setEncoding("utf8")
4.2.2然后将这个消息发送给所有的用户
clients.map((item)=>{
if(item){
item.write(data);
}
})
client.on("close",()=>{
clients[client.id] = null;
})
五、创建文件的读写流
const readline = require("readline");
const rl = readline.createInterface({
input:process.stdin,
output:process.stdout
})
rl.on("line",(text)=>{
//发送消息
client.write(text);
})