`

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:方法。

分享到:
评论

相关推荐

    iOS网络编程模型.pdf

    Cocoa层是最上层,提供了一系列Objective-C API,包括URL访问(NSURL)、流(NSStream)、Bonjour服务发现、Game Kit以及WebKit,这些都是iOS开发者日常开发中最常见的网络功能。这一层的API基于Core Foundation实现...

    iOS CFNetwork编程指南

    CFNetwork框架实现了抽象化的网络协议库,覆盖了从BSD sockets到高级网络协议处理的各项功能,包括但不限于SSL/TLS加密连接、DNS解析、HTTP/HTTPS认证、FTP文件传输以及Bonjour服务的发布、解析和浏览。 #### ...

    IOS网络开发高级教程

    紧接着,作者讲解了如何设计服务架构以适应企业网络环境,这部分内容对那些需要将iOS应用集成到企业级网络解决方案中的开发者尤为有用。 二、HTTP请求处理 作为iOS网络开发中的核心部分,HTTP请求处理在本书的第二...

    Professional iOS Network Programming pdf

    书中详细介绍了HTTP请求作为iOS网络编程的主力,包括了同步和异步HTTP请求的处理、错误处理、负载处理、网络安全性、GameKit和Bonjour通信以及底层网络通信等内容。整个内容划分为几个部分,每个部分都有其独特的...

    深入解析MacOSX+iOS操作系统

    书中还将涵盖iOS的网络服务,如Bonjour和Bonjour SDK,以及如何利用这些服务进行设备间的通信。 除了操作系统的基本结构,本书还可能涉及开发者关心的主题,如Objective-C和Swift编程语言的使用,以及Xcode开发环境...

    Professional iOS Network Programming 2013

    ### 专业iOS网络编程2013:连接企业与iPhone及iPad #### 一、引言与背景 《专业iOS网络编程》是一本专为希望开发面向企业的iOS应用(包括iPhone和iPad)的开发者编写的指南。随着移动设备在商业环境中的广泛应用,...

    Beginning+iOS+5+Application+Development--.pdf

    - **网络发现**:利用Bonjour服务实现局域网内设备自动发现。 ##### 第19章:使用Apple推送通知服务编程远程通知 - **推送通知**:实现接收和处理来自服务器的推送通知。 - **本地通知**:发送应用内的本地通知提醒...

    Professional iOS Network Programming

    首先,书中介绍了iOS网络编程的基础能力,例如HTTP请求、数据的生成和解析、错误处理等。这一部分强调了构建服务架构的重要性,并为开发者提供了如何设计适合自己应用需求的网络架构的知识。 接着,书中深入探讨了...

    cascades-bonjour-源码.rar

    当我们解压 "cascades-bonjour-源码.zip" 文件后,可以看到源码结构,主要包括以下几个关键部分: 1. **Bonjour Service Discovery**:Bonjour 的核心在于服务注册和查询。源码中的这部分内容实现了服务发布和订阅...

    ESP8266的IOS连接程序源码

    4. **iOS编程**:使用Swift或Objective-C编写iOS应用,创建用户界面,处理Wi-Fi配置请求,并与ESP8266通信。 5. **加密算法**:传输的配置信息需要安全,可能涉及加密算法确保数据的安全性。 6. **Bonjour服务**:...

    BonjourTestProject:使用此iOS示例代码使用Bonjour浏览网络服务

    这个名为"BonjourTestProject"的iOS示例代码旨在帮助开发者了解如何在Swift编程环境中利用Bonjour来浏览网络中的可用服务。 Bonjour技术基于DNS-SD(DNS Service Discovery),允许设备通过标准的DNS协议来发布、...

    iOS 应用开发学习指南

    - 包括低级数据类型、Bonjour服务(用于设备间通信)、网络套接字等功能。 - **多媒体应用层(Medialayer)**:专注于音频、视频等多媒体方面的API。 - **Cocoa Touch层**:专注于用户界面元素的设计与实现。 ####...

    Beginning iOS 6 Development Exploring the iOS SDK

    这本书面向的是对iOS编程感兴趣的初学者,通过系统性的讲解,帮助他们构建扎实的iOS应用开发技能。 首先,书中会介绍iOS开发的基础知识,包括Xcode IDE的使用,它是Apple官方提供的集成开发环境,包含了编写、调试...

    iOS network programming

    《专业iOS网络编程:连接企业到iPhone®和iPad®》一书由Jack Cox、Nathan Jones和John Szumski合著,深入探讨了iOS设备在企业级网络编程中的应用与技术。本书分为四个部分,全面介绍了iOS网络编程的各个方面,包括...

    Beginning iOS 5 Application Development

    - **零配置网络**:学习如何使用Bonjour服务发现协议来自动查找本地网络中的其他设备和服务。 - **第19章:使用Apple推送通知服务编程远程通知** - **推送通知**:了解如何利用APNs(Apple Push Notification ...

    Beginning iOS 4 application development

    - 介绍了如何使用Bonjour服务发现协议来查找本地网络上的其他设备和服务。 - 包括了服务注册、浏览和解析过程。 **第19章:Apple推送通知服务** - 介绍了如何使用APNS(Apple Push Notification Service)向iOS设备...

    Beginning.iOS.4.Application.Development

    - **服务发现**: 介绍了如何使用Bonjour协议自动发现本地网络上的服务。 - **实现案例**: 提供了一个简单的Bonjour服务发现的实现案例。 #### Apple推送通知服务 - **推送机制**: 介绍了Apple推送通知服务的工作...

    iOS开发秘籍中文版 iOS 5 Programming Cookbook

    这本书由DevDiv团队翻译成中文,旨在帮助中国的开发者更好地理解和应用Apple的iOS SDK,尤其适合那些希望提升iOS编程技能或者在实际项目中遇到问题需要快速查找解决方法的开发者。 本书涵盖了iOS开发中的多个关键...

Global site tag (gtag.js) - Google Analytics