• pinus学习(4)


     本篇学习:

      1、channel的概念。

      2、后端服务器代码编写。

      3、channel和客户端的信息传递。 

    Channel的概念:

      

      大致意思:

        1、channel可以看做是一个房间。

        2、当客户端进入房间时,可以把客户端加入channel。

        3、channel可以给所有加入的客户端广播消息。

        4、各个服务器之间的channel是独立的,并不共享。

    后端服务器代码编写:

    {

      思路大纲:

        1、当客户端连接服务器时,将客户端加入channel,

           并返回当前channel中所有加入的客户端。

        2、当客户端断开服务器时,将客户端踢出channel。

            

      思路实现:

        1、当客户端连接服务器时,将客户端加入channel,

           并返回当前channel中所有加入的客户端。

            1、添加一个add方法,用来处理客户端加入channel。

              

            2、添加一个getUsersName方法,用来返回指定channel里所有客户端的名字。

              

        2、当客户端断开服务器时,将客户端踢出channel。

          1、添加kick方法,用来处理用户断开服务器时的逻辑。

            

      代码全貌:

        

      可见,现在代码还有很多没有完善。

      我打算放到后面再慢慢讲其他的API用法,这样便于分块理解。

    }

    channel和客户端的信息传递。:

      1、服务端通过channel.pushMessage()这个API推送消息给客户端。

        

        但是现在我碰到难题了:

          报了这个错误:

            

          群里的大大们也在帮忙,感谢大大们,虽然还没解决:

            

            

      2、客户端通过pinus.on()这个API接收消息。

        

    附上项目git地址:https://gitee.com/dmc-nero/pinusDemo

    大佬出马了,太牛了:

      

    天啊。。。又出现了了一个问题:

      

      杀掉node进程后,现在日志输出都没有颜色了。

      这又是一个伤神的问题,我得慢慢去查资料了。

      找到原因了:

        1、修改了 log4js.json 配置文件。

          是由于之前为了把日志导出为txt,所以我把 log4js.json 文件修改了。

          只要还原成原来的样子即可。

  • 相关阅读:
    汤姆大叔 深入理解JavaScript系列(20):《你真懂JavaScript吗?》答案详解 后六道题答案
    canvas绘制自定义的曲线,以椭圆为例,通俗易懂,童叟无欺
    nodejs 平台的 webscoket 的实现
    javascript 控制台输出 图片 console.log 真强大 真佩服你们的创造力
    ichartjs 使用BUG,assign_scale:true 解决
    timequest静态时序分析学习笔记之工具使用
    timequest静态时序分析学习笔记之命令约束
    timequest静态时序分析学习笔记之基本概念
    浅谈“意识”的物质性
    构建异步处理网络服务器
  • 原文地址:https://www.cnblogs.com/dmc-nero/p/12455648.html
Copyright © 2020-2023  润新知