老网络框架和新的网络之间的通讯。

老的基于多线程网络的脚本通讯系统。

老网络基于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服务器独立的功能。

是否也可以抽象出来成为单独的功能?目前看没有必要性。

你可能感兴趣的:(老网络框架和新的网络之间的通讯。)