zoukankan      html  css  js  c++  java
  • 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:

            

          运行效果:

            

      }

     

      

  • 相关阅读:
    第08组 Alpha冲刺(1/6)
    第08组 团队Git现场编程实战
    第08组 团队项目-需求分析报告
    团队项目-选题报告
    第二次结对编程作业
    第一次结对编程作业
    第8组 团队作业
    第一次个人编程作业
    第一次博客作业
    Alpha 冲刺 (7/10)
  • 原文地址:https://www.cnblogs.com/dmc-nero/p/12482912.html
Copyright © 2011-2022 走看看