我是靠谱客的博主 俭朴猫咪,最近开发中收集的这篇文章主要介绍skynet踩坑记录(一)客户端连接之watchdog gate agent复杂错乱关系。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        笔者转行做游戏服务器开发有四个月了,现在公司用的是skynet框架,由于之前没做过服务器开发,现在还是处于边学习,边跟项目的情况。由于工作原因,网络这一块断断续续看了两个星期,一直没理解,今天再看的时候,终于懂了skynet监听网络端口的流程,也懂了,客户端是怎么连接的。果然应了那句话:欠了技术债,早晚要还的。(学习一定要专注啊!!!可以省好多时间。)

       这张图是在网上找的,非常的清晰,要顺着标识看,并结合代码,就能大致了解这个过程。

1.在main中会newservice watchdog启动看门狗服务,lua start conf给看门狗发送lua消息start参数为conf

2.在watchdog服务中会,newservice gate启动网关服务(实际上是通过gateserver.start启动),然后监听传入或者默认的端口。

3.当有新连接接入的时候,实际上是gate server监听到的。

4.gate server send2watchdog open,并传入参数。

5.在watchdog server中会创建一个agent(每个连接接入,创建一个agent),并传入相关的信息(gate,fd,watchdog)。

6.由于有watchdog传入的信息,agent可以call2gate server forward(用于打开fd,一定要打开,链接成功不代表马上可以读到数据,需要打开这个套接字,允许fd接收数据,这样才能接受到client传入的数据)。

7.当client send requste,首先到达gate。

8.gate server 的message方法中处理,转发给agent。

9.agent处理之后,在发回给client。

 

需要注意的是:

1.实际上client连接到的是gate server。

2.gate server把具体的client消息转发给agent由agent处理具体逻辑。

3.gate 与 watchdog 与 agent是相互配合的。

 

至于为什么要这么做,目前我也不是很清楚。。。

 

最后

以上就是俭朴猫咪为你收集整理的skynet踩坑记录(一)客户端连接之watchdog gate agent复杂错乱关系。的全部内容,希望文章能够帮你解决skynet踩坑记录(一)客户端连接之watchdog gate agent复杂错乱关系。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部