在iPhone上(服務器),我試圖發佈服務和我的代碼跑進NSNetService
對象的委託方法:NSNetServiceBrowser沒有找到發佈的服務
-(void)netServiceDidPublish:(NSNetService *)sender
所以,我相信,我的服務@"_chatty._tcp."
已成功發佈。然後在另一部iPhone(客戶端),我用NSNetServiceBrowser
找到我的服務,但它並沒有碰上委託方法:
-(void)netServiceBrowser:(NSNetServiceBrowser *)netServiceBrowser didFindService:(NSNetService *)netService moreComing:(BOOL)moreServicesComing
我發現與我的情況下,本網站的一些問題,大多數的答案提醒檢查委託對象是否超出範圍。我敢肯定,我代表工作得很好,因爲它遇到了像另一個委託方法:
-(void)netServiceBrowserWillSearch:(NSNetServiceBrowser *)aNetServiceBrowser
任何人可以幫助我找出原因?
這裏是我的代碼的某些部分:
我初始化這樣的服務:
#define MY_PROTOCOL @"_chatty._tcp."
self.myService = [[NSNetService alloc]
initWithDomain:@"" type:MY_PROTOCOL
name:@"thaith" port:self.port];
端口與在瀏覽器類的指定listeningSocket初始化:
NSNetServiceBrowser* finder = [[NSNetServiceBrowser alloc] init];
//I also retain the finder.
finder.delegate = self;
[finder searchForServicesOfType:MY_PROTOCOL inDomain:@""];
我也遇到了同樣的問題...您是否找到了解決方案? –