閱讀55 返回首頁    go 技術社區[雲棲]


iOS網絡編程-iOS中解析Bonjour服務

服務器端Bonjour服務發布成功之後,客戶端可以通過NSNetService解析服務,解析成功後,可以獲得通訊的數據細節,如:IP地址、端口等信息。

首先需要實例化NSNetService對象代碼如下:

-(id)init {

_service = [[NSNetService alloc] initWithDomain:@”local.”

type:@”_tonyipp._tcp.” name:@”tony”];

[_service setDelegate:self];

//設置解析地址超時時

[_service resolveWithTimeout:1.0];

_services = [[NSMutableArray alloc] init];

return self;

}


實例化NSNetService對象的構造方法是– initWithDomain:type:name:,不需要指定它的端口。解析服務需要調用[_service resolveWithTimeout:1.0]語句,開始解析服務,在規定的時間裏進行解析,參數是單位是秒。

#pragma mark - NSNetServiceDelegate Methods

- (void)netServiceWillResolve:(NSNetService *)netService {

NSLog(@”netServiceWillResolve”);

}

 

- (void)netServiceDidResolveAddress:(NSNetService *)netService {

NSLog(@”netServiceDidResolveAddress”);

[_services addObject:netService];

}

 

- (void)netService:(NSNetService *)netService didNotResolve:(NSDictionary *)errorDict {

NSLog(@”didNotResolve: %@”,errorDict);

}


netServiceWillResolve:方法在解析開始時回調,解析成功時回調netServiceDidResolveAddress:方法,解析失敗時回調netService:didNotResolve:方法。

最後更新:2017-04-03 20:43:08

  上一篇:go Command設計模式-文件過濾器FilenameFilter
  下一篇:go 除非有system.exit(1)退出虛擬機,否則即使return語句在finally之前也會執行finally