前端通信 net 内置模块 和 ws-h5 第三方模块

前端通信

  1. 基于后端的通信( 后端完成 )( pc端用 )
  • Node.js中有一个net模块
  • 使用终端( shell )作为客户端
  • 思维流程
/*
主服务器:
1.创建服务器
2.连接客户端
3.获取客户端发来的信息
4.将客户端发来的信息展示到自己的终端上(广播)
*/


// 引入net模块


const net = require('net');


// 1.创建服务器


const server = new net.createServer();


const port = 8000;


const hostname = 'localhost';


const clients = {}; //用来存储多个客户端


let count = 0; // 用来给客户端编号的


// 2.连接客户端


server.on('connection', client => { //client指的是连接的客户端


client.name = ++count;


clients[client.name] = client;


// 3.获取客户端发来的信息
client.on('data', msg => {


console.log(`客户端${client.name}说:${msg.toString()}`);
boardcast(client, msg.toString())
});


client.on('error', error => {
console.log(`error is ${error}`)
});


client.on('close', () => {
delete clients[client.name];
console.log(`客户端${client.name} closed~~`)
})
});


// 4.将客户端发来的信息展示到自己的终端上(广播)


// 封装一个广播函数用于广播客户端发来的消息
function boardcast(client, msg) { // client为客户端 msg为客户端发来的消息


// 把所有客户端发送来的消息都展示在聊天室内
for (var key in clients) {
clients[key].write(msg); // 将每一个客户端的消息都写入界面
}
}


// 监听服务器


server.listen(port, hostname, () => {
console.log(`The server is running at: http://${hostname}:${port}`)
});
/*
客户端:
1

你可能感兴趣的:(个人)