NSNetService 和 NSNetServiceBrowser 简单了解

NSNetService 表示一个网络服务。可以代表你的应用程序发起的一个网络服务(也可以是别人的一个网络服务)。
这个类的主要功能:1.可以让应用程序发布服务 2.可以解析对应服务的套接字地址。

NSNetServiceBrowser 类用来获取网络上的网络服务对象(NSNetService)。
获取对应的NSNetService对象后,就可以去进行连接等操作

简单的使用步骤(以局域网对战为例):
玩家A来创建房间:

  1. 初始化创建NSNetService实例。
- (instancetype)initWithDomain:(NSString *)domain type:(NSString *)type name:(NSString *)name port:(int)port;

(注:默认创建完后,该实例对象是在当前线程的Runloop的默认mode下运行等待的。)

  1. 将我们创建的服务(NSNetService实例)发布出去
这两个方法都可以。
- (void)publish; // 发布使用默认配置
- (void)publishWithOptions:(NSNetServiceOptions)options; // 可以自定义更多的设置

3.等待玩家B的进入。

4.玩家B首先要获取网络上的所有网络服务。

NSNetServiceBrowser 实例化,并设置代理。

5.玩家B选择其中一个网络服务,开始解析对应的服务地址。

    NSNetService *service = ……;
    service.delegate = self;
    [service resolveWithTimeout:20];

6.在service的代理回调里获取对应服务的地址,然后利用socket进行连接。

你可能感兴趣的:(NSNetService 和 NSNetServiceBrowser 简单了解)