老的基于多线程网络的脚本通讯系统。
老网络基于zeromq线程通讯保留。接口保持不变。
基于nanomsg的服务器组件间通讯,功能同老的一样。
client-game的通讯需要通过gate提供老网络和新网络的转发。
gate-game
老网络在gate上在网络层 向game nano消息。如果是链接和断开则通知自己的workthread,他需要管理发送的句柄。
game工作线程nano收消息,脚本逻辑处理之后nano消息给gate。
gate工作线程nano到消息,转换成旧网络封包并发回去。(无脚本处理 )
问题:无法直接使用老网络框架和新网络框架。框架都是基于脚本的,在通讯的双端都有自动生成lua对象处理。
解决:
目前gate作为特殊的个体进行配置。
作为c-g的服务器,除了监听之外,并不生成脚本。消息来之后直接抛向game.
作为gate-game的服务器,除了监听之外,并不生成脚本。收到的消息直接转成老网络事件并发送。将作为单独而独立的c++功能存在。
老网络转新网络将作为gate服务器独立的功能。
是否也可以抽象出来成为单独的功能?目前看没有必要性。