- 博客(5)
- 收藏
- 关注
原创 skynet源码解析--lua服务的启动
skynet是如何实现c和lua的控制权转换lua服务的起源地启动的第一个lua服务启动一个服务前面已经讲过c底层代码是如果完成消息驱动的,这里主要描述c和lua是进行交互和转移控制权的。lua服务的起源地skynet所有的lua服务都是有service_snlua.c的实现的库是加载的。/*skynet_context_new中加载snlua的库时会调用init*/int snlua_init(struct snlua *l, struct skynet_context *ctx, const
2021-08-28 19:05:37
389
原创 漫谈字节对齐
漫谈字节对齐什么是字节对齐为什么要字节对齐字节不对齐会遇到什么问题什么是字节对齐数据在内存地址是它长度的整数倍就叫字节对齐。比如一个整形在0x00000004(假设类型长度32)。不同的系统,数据类型的长度可能略有从差别。类型/模型ILP32LP32LP64LLP64char8888short16161616int32326432long32326432long long64646464pointer3
2020-12-15 00:53:06
154
原创 skynet源码解析--启动篇之三大模块
主要模块基本信息初始化优先启动的服务监视器模块基本信息初始化 初始化配置之后,就要开始启动skynet的主要模块。不过,启动模块之前要先初始化一些基本信息。生成harbor ID。这个ID用一个整型的高八位表示,也就是说master/harbor模式中,同一个集群最多只有256个harbor服务器。句柄池初始化。这个句柄池主要用来管理服保存务...
2019-08-22 01:24:58
551
原创 skynet源码解析--启动篇之配置
skynet的配置机制启动入口初始化环境变量启动入口 skynet启动的入口在文件skynet_main文件中的main函数,其实就是C程序的入口函数,然后显而易见的启动的传参argv,从中取出配置文件名赋值config_file 。如果不带参数启动,程序直接就退出了。 const char * config_file = NULL ; if ...
2019-08-16 15:07:54
640
原创 TCP/IP系列 -- ARP协议
TCP/IP系列 -- ARP协议地址解析协议ARP地址解析协议网络中,一台主机要将一个帧数据发送到另一台主机,仅仅知道这台主机的IP地址是不够的,还需要知道主机在网络的中的有效硬件地址,这个时候就需要用到地址解析协议ARP:提供一种将IP地址和各种网络中使用的硬件地址之间的映射。ARP仅用于IPv4和IPv6使用邻居发现协议。ARP...
2019-08-15 16:57:53
577
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人