1. 程式人生 > >NsdService服務發現協議

NsdService服務發現協議

listenToSocket首先例項化一個本地socket物件,LocalSocket物件的LocalSocketAddress地址的 Socket名稱為已初始化的mSocket,並使用該地址呼叫connect函式,從init.rc 可以看到名稱為"mdns"的Socket對應的本地服務為netd,因此NativeCallbackReceiver物件與netd服務建立了連線;然後listenToSocket函式呼叫socket的getInputStream和getOutputStream函式獲得輸入和輸出流物件;最後listenToSocket函式進入while迴圈不斷從輸入流讀取事件進行分析。解析後的事件發給HandlerThread執行緒的Handler函式進行處理,在Handler函式中呼叫mCallbacks的onEvent回撥函式,即NsdService服務內部NativeCallbackReceiver物件的onEvent回撥函式。