Skynet:socket线程

Skynet:socket线程

  • socket应用层t数据结构
    在这里插入图片描述

  • socket服务层数据结构
    在这里插入图片描述

  • 控制命令请求包结构
    在这里插入图片描述

  • 创建线程:create_thread(&pid[2], _socket, m);

  • 工作函数:_socket
    在这里插入图片描述
    不断调用skynet_socket_poll函数,处理socket消息,进入socket服务循环
    在这里插入图片描述
    调用socket_server_poll取相关消息,根据返回类型进行派发消息,发送到对应服务的消息队列里面,forward_message逻辑如下,其中skynet_context_push函数就是把消息插入到对应的消息队列:
    在这里插入图片描述
    socket_server_poll函数首先会检测管道中是否有命令,如果有命令,就处理命令操作,否则处理IO事件,获取数据,处理信息
    在这里插入图片描述
    在这里插入图片描述