該類繼承於UdpConnection類,負責異步udp傳輸層的邏輯處理.
實現異步的方式:stream_socket_client+網絡IO庫
1、AsyncUdpConnection設計
- 類概要
![97、Workerman通信框架-傳輸層-異步AsyncUdpConnection類解析](http://p2.ttnews.xyz/loading.gif)
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方法
閱讀更多 iamasb 的文章