我的第一個問題是如何獲取的NSNetServiceDelegate
的didAcceptConnectionWithInputStream:outputStream:
回調以獲取叫什麼?didAcceptConnectionWithInputStream:outputStream:get如何被調用?
後續問題:我仍然可以在客戶端和服務器之間建立連接,但我從來沒有收到回覆說連接被接受(通過didAcceptConnectionWithInputStream:outputStream:
)?
我明白打電話publishWithOptions
,同時通過在NSNetServiceListenForConnections
選項應該導致NetServiceDelegate
回調(didAcceptConnectionWithInputStream:outputStream:
)被調用。但是,該回調沒有被調用。
這裏是我採取的步驟,來發布:
與創建
NSNetService
self.netService = [[NSNetService頁頭] initWithDomain:@ 「」 類型:_serviceType 名稱: (_name ==零)? @「」:_name port:0];在當前runloop
計劃服務,在默認模式下
- 將委託我的服務器包裝對象
- 呼叫
publishWithOptions:NSNetServiceListenForConnections
這裏是我採取的步驟,瀏覽服務:
- 創建
NSNetServiceBrowser
,及其委託設置爲我的客戶包裝對象 - 呼叫
searchForServicesOfType
在一個UITableView
的UI,同樣的服務類型和域NSNetService
- 列表服務,允許用戶選擇服務
- 當用戶選擇一個服務,服務的委託設置爲我的客戶對象,並調用
getInputStream:outputSteam:
的服務 - 的getInputStream後:outputSteam:返回成功,我希望
didAcceptConnectionWithInputStream:outputStream:
來調用。但是,這不會發生。
感謝您的幫助!
你弄明白了嗎? – Legolas