教你从新写游戏处事器框架
对付 Protocol 的详细实现子类,我起首实现了一个 LineProtocol ,是一个很是不严谨的,基于文本ASCII编码的,用空格脱离字段,用回车分包的协议。用来测试这个框架是否可行。由于这样可以直接通过 telnet 器材,来测试协议的编解码。然后我凭证 TLV (Type Length Value)的要领计划了一个二进制的协议。或许的界说如下: 协议分包: [动静范例:int:2] [动静长度:int:4] [动静内容:bytes:动静长度] 动静范例取值:
Processor 处理赏罚器层是我计划用来对接详细营业逻辑的抽象层,它首要通过输入参数 Request 和 Peer 来得到客户端的输入数据,然后通过 Server 类的 Reply()/Inform() 来返回 Response 和 Notice 动静。现实上 Transport 和 Protocol 的子类们,都属于 net 模块,而各类 Processor 和 Server/Client 这些成果范例,属于其它一个 processor 模块。这样计划的缘故起因,是但愿全部 processor 模块的代码单向的依靠 net 模块的代码,但反过来不创立。 Processor 基类很是简朴,就是一个处理赏罚函数回调函数进口 Process():
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |