LocalSocketProvider Class Reference

Inherits from NSObject
Conforms to GCDAsyncSocketDelegate
Declared in LocalSocketProvider.h

Overview

本地 TCP Socket 实例封装实用类。
本类提供存取本地TCP Socket通信对象引用的方便方法,封装了Socket有效性判断以及异常处理等,以便确保调用者通过 方法 {@link #getLocalUDPSocket()}拿到的Socket对象是健康有效的。

依据作者对MobileIMSDK API的设计理念,本类将以单例的形式提供给调用者使用。

@author Jack Jiang(http://www.52im.net/thread-2792-1-1.html)) @version 1.0

+ sharedInstance

获取本类的单例。使用单例访问本类的所有资源是唯一的合法途径。

+ (LocalSocketProvider *)sharedInstance

Discussion

获取本类的单例。使用单例访问本类的所有资源是唯一的合法途径。

Declared In

LocalSocketProvider.h

– resetLocalSocket

重置并新建一个全新的Socket对象。

- (MBGCDAsyncSocket *)resetLocalSocket

Return Value

新建的全新Socket对象引用

Discussion

重置并新建一个全新的Socket对象。

Declared In

LocalSocketProvider.h

– getLocalSocket

获得本地Socket的实例引用.

本方法内封装了Socket有效性判断以及异常处理等,以便确保调用者通过本方法拿到的Socket对象是健康有效的。

- (MBGCDAsyncSocket *)getLocalSocket

Return Value

如果该实例正常则返回它的引用,否则返回null

Discussion

获得本地Socket的实例引用.

本方法内封装了Socket有效性判断以及异常处理等,以便确保调用者通过本方法拿到的Socket对象是健康有效的。

Declared In

LocalSocketProvider.h

– setConnectionObserver:

设置连接完成后将被通知的观察者。如果设置本参数,则将在连接完成后调用1次,调用完成后置null。

设置本观察者的目的,是因为socket连接的过程是异步完成,有时希望在连接完成时就能立即执行想要的逻辑,那么设置本观察者即可(在某次 连接最终完成前,本参数的设置都会覆盖之前的设置,因为只有这一个观察者可以用哦)。

- (void)setConnectionObserver:(ConnectionCompletion)connObserver

Parameters

networkConnectionLostObserver

观察者对象

Discussion

设置连接完成后将被通知的观察者。如果设置本参数,则将在连接完成后调用1次,调用完成后置null。

设置本观察者的目的,是因为socket连接的过程是异步完成,有时希望在连接完成时就能立即执行想要的逻辑,那么设置本观察者即可(在某次 连接最终完成前,本参数的设置都会覆盖之前的设置,因为只有这一个观察者可以用哦)。

Declared In

LocalSocketProvider.h

– tryConnectToHost:withSocket:completion:

尝试连接指定的socket.

因为GCDAsyncSocket是异步的,所以连接的结果,会在 delegate中进行回调通知。

- (int)tryConnectToHost:(NSError **)errPtr withSocket:(MBGCDAsyncSocket *)skt completion:(ConnectionCompletion)finish

Parameters

errPtr

本参数为Error的地址,本方法执行返回时如有错误产生则不为空,否则为nil

finish

连接结果回调

Return Value

0 表示connect的意图是否成功发出(实际上真正连接是通过异步的delegate方法回来的,不在此方法考虑之列),否则表示错误码

Discussion

尝试连接指定的socket.

因为GCDAsyncSocket是异步的,所以连接的结果,会在 delegate中进行回调通知。

See Also

Declared In

LocalSocketProvider.h

– isLocalSocketReady

本类中的Socket对象是否是健康的。

- (BOOL)isLocalSocketReady

Return Value

true表示是健康的,否则不是

Discussion

本类中的Socket对象是否是健康的。

Declared In

LocalSocketProvider.h

– closeLocalSocket

强制关闭本地Socket侦听。

一旦调用本方法后,再次调用[LocalSocketProvider getLocalSocket]将会返回一个全新的Socket对象引用。

本方法通常在两个场景下被调用:
1) 真正需要关闭Socket时(如所在的APP通出时);
2) 当调用者检测到网络发生变动后希望重置以便获得健康的Socket引用对象时。

- (void)closeLocalSocket

Discussion

强制关闭本地Socket侦听。

一旦调用本方法后,再次调用[LocalSocketProvider getLocalSocket]将会返回一个全新的Socket对象引用。

本方法通常在两个场景下被调用:
1) 真正需要关闭Socket时(如所在的APP通出时);
2) 当调用者检测到网络发生变动后希望重置以便获得健康的Socket引用对象时。

Declared In

LocalSocketProvider.h