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
GCDAsyncSocket, ConnectionCompletion
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