• pinus学习(5)


    上节回顾:

      1、channel和客户端之间的信息传递。

        服务器端推送消息给客户端:

          

          通过定义onAdd路由,向监听这个路由的客户端推送消息。

        客户端接收消息:

          

          监听onAdd路由,以接收服务器推送过来的消息。

        运行效果:

          

    本章学习:

      1、增加filter。

    开始学习:

      1、增加filter。

      {

        概念:

          

          大致意思:

            1、类似一个过滤器,对客户端请求做前置、后置的处理。

            2、before filter做前置处理,如:检查玩家是否已经等了、打印统计日志、请求排队、超时处理等。

            3、after filter做后置处理,如:释放请求上下文的资源、记录请求总耗时等。

          

          大致意思:

            1、before filter位于 handler 之前。

            2、after fitler位于handler之后。

        filter的代码结构:    

          

          参数说明:

            before:

              msg:msg可能是用户请求原始内容,也可能是经过了前面filter链处理后的内容。

              session:在这里是BackendSession,如果在前端服务器上,则是FrontendSession。

              next:回调,进入下一个组件。

            after:          

              err:当前面有错误的错误信息。

              resp:对客户端的响应内容。

              msg:同before的msg。

              session:同before的session。

              next:回调,进入下一个组件。

        当前TS版本中的filter:

          

          可以看到before多了一个routeRecord参数。

          在代码实现上:

            

            只要实现IhandlerFilter接口即可。

          接着,只要挂在到app上即可:

            

        实战:

          定义一个 TimeOutFilter类 的 filter :

            

            最后一个参数必须是起名为:next,如果起名是cb的话会报错。

          挂载TimeOutFilter:

            

          运行效果:

            

      }

     

      

  • 相关阅读:
    反序列化二叉树-队列
    二叉树中和为某一值的路径
    深拷贝复杂链表
    机器人运动范围
    vue 安装及使用
    json 函数
    js 获取当前时间
    JS编码方式
    搭建自己的Webpack项目
    webpack 安装 打包
  • 原文地址:https://www.cnblogs.com/dmc-nero/p/12482912.html
Copyright © 2020-2023  润新知