skynet 源码分析
来源:互联网 发布:vm linux 共享文件夹 编辑:程序博客网 时间:2024/05/22 17:47
1. 核心部分,即底层网络封装部分,有5个文件
代码为C语言
socket_poll.h //封装了关于多路复用的系统调用,即(以epoll为例)
static bool sp_invalid(poll_fd fd);
static poll_fd sp_create();
static void sp_release(poll_fd fd);
static int sp_add(poll_fd fd, int sock, void *ud);
static void sp_del(poll_fd fd, int sock);
static void sp_write(poll_fd, int sock, void *ud, bool enable);
static int sp_wait(poll_fd, struct event *e, int max);
static void sp_nonblocking(int sock);
socket_epoll.h//linux平台的实现 利用epoll
socket_kqueue.h//bsd平台实现 利用kqueue
socket_server.h//
socket_server.c//
利用了两个重要的结构:
一个是struct socket,对fd以及fd相关的属性进行了封装。
一个是struct socket_server,包装了管道的读写端,以及发生的事件表,socket池等。
其中所有函数如下:
socket_server_create//创建了一个socket_server指针赋值并返回
socket_server_release
socket_server_poll//处理管道上来的指令 和 epoll_wait事件socket_server_exit
socket_server_close
socket_server_start
socket_server_send
socket_server_listen
socket_server_connect
socket_server_bind
socket_server_block_connect
- skynet定时器源码分析
- skynet 源码分析
- skynet源码分析【skynet名字的管理】
- skynet框架 源码分析 一
- skynet框架 源码分析 二
- skynet框架 源码分析 三
- skynet框架 源码分析 四
- skynet框架 源码分析 五
- skynet消息队列源码分析
- skynet框架 源码分析 一
- skynet框架 源码分析 二
- skynet框架 源码分析 三
- skynet框架 源码分析 四
- skynet框架 源码分析 五
- skynet源码分析【skynet定时器服务的实现】
- skynet源码分析【skynet服务回调函数的实现】
- skynet源码分析(7)--skynet中的timer
- skynet源码分析(8)--skynet的网络
- ||OC||OC语言基础知识框架结构//个人整理使用|仅供参考|尚未整理完
- 113. Path Sum II
- jni 调用sock_raw -- 端口扫描
- python扩展之爬虫基础
- event 对象
- skynet 源码分析
- nyoj--298 点的变换(矩阵)
- 人工智能各种技术与算法
- linux 编辑器之神 vim使用
- [精]详解SSH端口转发,本地端口转发、远程端口转发、动态端口转发
- python网络爬虫入门(三)———多线程
- C++第二次实验-2
- 选择排序--SelectSort
- #if 0 的作用