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事件,獲取數據,處理信息
    在這裏插入圖片描述
    在這裏插入圖片描述