使用Node实现前端通信

前端通信(socket)Node中的net模块提供的前端通信H5提供的 webSocket 【 常用于 移动端 】pc端低版本浏览器使用 socket.io服务端:一个总的服务器 例: QQ的服务器(一个整体)客户端:单个用户使用应用 例:每个人的QQ(多个)Node中的net模块提供的前端通信业务: 客户端现在要在终端输入内容,然后回车发送内容给服务器解...
摘要由CSDN通过智能技术生成

前端通信(socket)

  • Node中的net模块提供的前端通信
  • H5提供的 webSocket 【 常用于 移动端 】
  • pc端低版本浏览器使用 socket.io

服务端:一个总的服务器 例: QQ的服务器(一个整体)

客户端:单个用户使用应用 例:每个人的QQ(多个)

Node中的net模块提供的前端通信

业务: 客户端现在要在终端输入内容,然后回车发送内容给服务器

解决: Node中提供了一个叫做 readline 的 模块用于读取命令行内容 【 单行读取 】

​ *使用Node创建服务器

//总服务器
//此文件名server.js
const net = require('net'); //引入net模块

const server = net.createServer(); //创建服务器

const host = 'localhost'; //创建域名 

const port = 6868; //创建端口号

const clients = {
   };

let count = 0;


//服务器连接客户端
server.on('connection', (client) => {
    //服务器通过connection连接客户端

    client.name = ++count; //计数,给每一个客户端起名

    clients[client.name] = client; //将每一个客户端放入clients中储存起来

    //服务器接收信息
    client.on('data', msg => {
   
    //服务器通过data事件来接收,客户端发过来的信息;msg 就是客户端发来的信息 , msg这个信息是二进制
        console.log(`客户端${
     client.name}说:${
     msg.toString()}`);
        boardCaster(client, msg);
    });


    //服务器错误报出处理
    client.on('error', error => {
    // 服务器处理错误报出
        console.log('error is: ' + error);
    });

    //服务器正常下线
    client.on('close', () => {
    // 服务端接收客户端正常下线行为

        delete clients[client.name]; // 从存储client的地方删除下线的客户端

        console.log(`客户端${
     client.name}下线了`);
    });

});


//广播
// 广播就是将所有的客户端以及客户端发来的信息展示在服务端界面上
function boardCaster(client, msg) {
   
    for 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值