97、Workerman通信框架-傳輸層-異步AsyncUdpConnection類解析

該類繼承於UdpConnection類,負責異步udp傳輸層的邏輯處理.

實現異步的方式:stream_socket_client+網絡IO庫

1、AsyncUdpConnection設計

  • 類概要
97、Workerman通信框架-傳輸層-異步AsyncUdpConnection類解析

2、核心方法解析

  • __construct

設置遠程服務地址信息、相關屬性

  • send

判斷是否需要封包

發送前判斷是否已經建立socket

如不是則調用connect

相反則直接發送

  • connect

調用方法stream_socket_client,建立socket連接

判斷是否存在onMessage屬性,如存在則往網絡IO庫添加socket連接的read事件,回調方法為baseRead

判斷是否存在onClose屬性,如存在則進行調用

  • close

刪除read事件

判斷是否存在onClose屬性,如存在則進行調用

然後請求或重置屬性即可

  • baseRead

調用stream_socket_recvfrom獲取數據

判斷屬性onMessage是否存在,如存在,再判斷是否需要進行協議解包,最後回調onMessage方法


分享到:


相關文章: