一、A發送消息到服務器服務器
二、服務器接收到消息後會給全部用戶發送這條消息ui
三、若是有用戶斷開鏈接,則不用給此用戶發送server
1、建立持久性鏈接服務器 net,設置其端口號爲9000字符串
const net = require(「net」);input
const server = net.creatServer();it
server.listen(9000);io
2、當用戶鏈接到服務器之後console
server.on("connection",(client)=>{})require
3、存儲下全部的用戶cli
const clients = [];
clients.push(client);
4、給用戶編號,斷開鏈接後刪除
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;
})
5、建立文件的讀寫流
const readline = require("readline");
const rl = readline.createInterface({
input:process.stdin,
output:process.stdout
})
rl.on("line",(text)=>{
//發送消息
client.write(text);
})