书栈网 · BookStack 本次搜索耗时 0.021 秒,为您找到 52 个相关结果.
  • 5.1 创建消息封装类型

    5.1 创建消息封装类型 5.1 创建消息封装类型 在zinx/ziface/ 下创建imessage.go 文件 zinx/ziface/imessage.go package ziface /* 将请求的一个消息封装到message中,定义抽象层接口 */ type IMessage inter...
  • 一、应用案例介绍

    一、应用案例介绍 一、应用案例介绍 好了,以上Zinx的框架的一些核心功能我们已经完成了,那么接下来我们就要基于Zinx完成一个服务端的应用程序了,整理用一个游戏应用服务器作为Zinx的一个应用案例。 游戏场景是一款MMO大型多人在线游戏,带unity3d 客户端的服务器端demo,该demo实现了mmo游戏的基础模块aoi(基于兴趣范围的广播),...
  • 6.2用户上线流程

    6.2用户上线流程 B)创建Player模块 C)实现上线业务 D)测试用户上线业务 6.2用户上线流程 好了,那么我们第一次就要尝试将客户端的MMO游戏和移动端做一次上线测试了。 我们第一个测试用户上线的流程比较简单: A)定义proto协议 我们从图中可以看到,上线的业务会涉及到MsgID:1 和 MsgID:200 两个消息,根据我...
  • 九、移动位置与AOI广播(未跨越格子)

    九、移动位置与AOI广播(未跨越格子) 九、移动位置与AOI广播(未跨越格子) 现在我们来添加玩家移动的时候,周边玩家显示同步位置,具体流程图,如下: 这里面涉及到两个消息MsgID:3和 MsgID200,Tp=4。当玩家移动的时候,客户端会主动给服务端发送MsgID:3 的消息. 所以首先,我们应该给服务端注册MsgID:3 的路由处理业务...
  • 9.1 创建链接管理模块

    9.1 创建链接管理模块 9.1 创建链接管理模块 这里面我们就需要对链接有一个管理的模块. 我们在ziface 和znet 分别建立iconnmanager.go 和connmanager.go 文件 zinx/ziface/iconmanager.go package ziface /* 连接管理抽象层 *...
  • 9.3 链接的带缓冲的发包方法

    9.3 链接的带缓冲的发包方法 9.3 链接的带缓冲的发包方法 我们之前给Connection 提供了一个发消息的方法SendMsg() ,这个是将数据发送到一个无缓冲的channel中msgChan 。但是如果客户端链接比较多的话,如果对方处理不及时,可能会出现短暂的阻塞现象,我们可以做一个提供一定缓冲的发消息方法,做一些非阻塞的发送体验。 zi...
  • 8.2 创建及启动Worker工作池

    8.2 创建及启动Worker工作池 8.2 创建及启动Worker工作池 现在添加Worker工作池,先定义一些启动工作池的接口 zinx/ziface/imsghandler.go /* 消息管理抽象层 */ type IMsgHandle interface { DoMsgHandler ( ...
  • 六、构建项目与用户上线

    六、构建项目与用户上线 六、构建项目与用户上线 现在,我们应该基于Zinx框架来构建一个MMO的游戏服务器应用程序的项目了。 我们这里创建一个项目mmo_game ,在项目内分别创建几个文件夹api ,conf ,core ,game_client ,pb 等
  • 10.1 给链接添加链接配置接口

    10.1 给链接添加链接配置接口 10.1 给链接添加链接配置接口 zinx/ziface/iconnection.go //定义连接接口 type IConnection interface { //启动连接,让当前连接开始工作 Start () //停止连接,结束当前连接状态M ...
  • 8.3 发送消息给消息队列

    8.3 发送消息给消息队列 8.3 发送消息给消息队列 现在,worker工作池已经准备就绪了,那么就需要有一个给到worker工作池消息的入口,我们再定义一个方法 zinx/ziface/imsghandler.go //将消息交给TaskQueue,由worker进行处理 func ( mh * MsgHandle ) Send...