LocalDataSender Class Reference

Inherits from NSObject
Declared in LocalDataSender.h

Overview

数据发送处理实用类。

本类是MobileIMSDK框架的唯一提供数据发送的公开实用类。

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

+ sharedInstance

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

+ (LocalDataSender *)sharedInstance

Discussion

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

Declared In

LocalDataSender.h

– sendLogin:

发送登陆信息,本方法同时会判断socket连接的建立情况(并在未连接的情况下首先尝试建立连接)。

本方法中已经默认进行了核心库的初始化,因而使用本类完成登陆时,就无需单独调用初始化方法[ClientCoreSDK initCore]了。

========================================【补充说明】=================================================== 登陆代码中,进行与服务端连接与否的检查,是登陆逻辑中特有的(其它正常发送时不需要有这种检查),因为正常的数据通信系统中, 登陆验证是第一步,也是必须的一步,此步里进行连接检查(如果未连接就进行连接的发起)、身份认证等,此步正常结束后,才是一 个通信系统能正常工作的开始,这是很合理的逻辑。必竟,首次的连接建立和身份认证,不可能由登陆之外的逻辑来实现,否则那就很 奇怪了! ==============================================================================================

- (int)sendLogin:(PLoginInfo *)loginInfo

Parameters

loginInfo

提交到服务端的的登陆信息,具体请见:http://docs.52im.net/extend/docs/api/mobileimsdk/server_tcp/net/x52im/mobileimsdk/server/protocal/c/PLoginInfo.html

Return Value

0表示数据发出成功(因整个socket操作都是GCD异步完成,理论上发出成功不意味着实际被成功收到哦),否则返回的是错误码

Discussion

发送登陆信息,本方法同时会判断socket连接的建立情况(并在未连接的情况下首先尝试建立连接)。

本方法中已经默认进行了核心库的初始化,因而使用本类完成登陆时,就无需单独调用初始化方法[ClientCoreSDK initCore]了。

========================================【补充说明】=================================================== 登陆代码中,进行与服务端连接与否的检查,是登陆逻辑中特有的(其它正常发送时不需要有这种检查),因为正常的数据通信系统中, 登陆验证是第一步,也是必须的一步,此步里进行连接检查(如果未连接就进行连接的发起)、身份认证等,此步正常结束后,才是一 个通信系统能正常工作的开始,这是很合理的逻辑。必竟,首次的连接建立和身份认证,不可能由登陆之外的逻辑来实现,否则那就很 奇怪了! ==============================================================================================

Warning: 本库的启动入口就是登陆过程触发的,因而要使本库能正常工作,请确保首先进行登陆操作。

Declared In

LocalDataSender.h

– sendLoginout

发送注销登陆信息.

本方法调用后,除非再次进行登陆过程,否则核心库将处于初始未初始化状态。

- (int)sendLoginout

Return Value

0表示数据发出成功,否则返回的是错误码

Discussion

发送注销登陆信息.

本方法调用后,除非再次进行登陆过程,否则核心库将处于初始未初始化状态。

Warning: 此方法的调用将被本库理解为退出库的使用,本方法将会额外调用资源释放方法 [ClientCoreSDK releaseCore],以保证资源释放。

Declared In

LocalDataSender.h

– sendKeepAlive

发送Keep Alive心跳包.

- (int)sendKeepAlive

Return Value

0表示数据发出成功,否则返回的是错误码

Discussion

发送Keep Alive心跳包.

Declared In

LocalDataSender.h

– sendCommonDataWithStr:toUserId:

通用数据发送方法。

- (int)sendCommonDataWithStr:(NSString *)dataContentWidthStr toUserId:(NSString *)to_user_id

Parameters

dataContentWidthStr

要发送的数据内容(字符串方式组织)

to_user_id

要发送到的目标用户id

Return Value

0表示数据发出成功,否则返回的是错误码

Discussion

通用数据发送方法。

See Also

Declared In

LocalDataSender.h

– sendCommonDataWithStr:toUserId:withTypeu:

通用数据发送方法。

- (int)sendCommonDataWithStr:(NSString *)dataContentWidthStr toUserId:(NSString *)to_user_id withTypeu:(int)typeu

Parameters

dataContentWidthStr

要发送的数据内容(字符串方式组织)

to_user_id

要发送到的目标用户id

Return Value

0表示数据发出成功,否则返回的是错误码

Discussion

通用数据发送方法。

See Also

Declared In

LocalDataSender.h

– sendCommonDataWithStr:toUserId:qos:fp:withTypeu:

通用数据发送方法(默认不需要Qos支持)。

- (int)sendCommonDataWithStr:(NSString *)dataContentWidthStr toUserId:(NSString *)to_user_id qos:(BOOL)QoS fp:(NSString *)fingerPrint withTypeu:(int)typeu

Parameters

dataContentWidthStr

要发送的数据内容(字符串方式组织)

to_user_id

要发送到的目标用户id

QoS

true表示需QoS机制支持,不则不需要

fingerPrint

QoS机制中要用到的指纹码(即消息包唯一id),生成方法见 [Protocal:genFingerPrint]

Return Value

0表示数据发出成功,否则返回的是错误码

Discussion

通用数据发送方法(默认不需要Qos支持)。

Declared In

LocalDataSender.h

– sendCommonData:

通用数据发送的根方法。

- (int)sendCommonData:(Protocal *)p

Parameters

p

要发送的内容(MobileIMSDK框架的“协议”DTO对象组织形式)

Return Value

0表示数据发出成功,否则返回的是错误码

Discussion

通用数据发送的根方法。

Declared In

LocalDataSender.h