public class ProtocalFactory
extends java.lang.Object
理论上这些协议都是框架内部要用到的,应用上层可以无需理解和理会之。
构造器和说明 |
---|
ProtocalFactory() |
限定符和类型 | 方法和说明 |
---|---|
static Protocal |
createCommonData(java.lang.String dataContent,
java.lang.String from_user_id,
java.lang.String to_user_id,
boolean QoS,
java.lang.String fingerPrint)
通用消息的Protocal报文对象新建方法(typeu字段默认-1)。
|
static Protocal |
createCommonData(java.lang.String dataContent,
java.lang.String from_user_id,
java.lang.String to_user_id,
boolean QoS,
java.lang.String fingerPrint,
int typeu)
通用消息的Protocal报文对象新建方法。
|
static Protocal |
createPErrorResponse(int errorCode,
java.lang.String errorMsg,
java.lang.String user_id)
创建错误响应消息报文对象(该对象由服务端发出).
|
static Protocal |
createPKeepAlive(java.lang.String from_user_id)
创建用户心跳包报文对象(该对象由客户端发出).
|
static Protocal |
createPKeepAliveResponse(java.lang.String to_user_id)
创建响应客户端的心跳消息报文对象(该对象由服务端发出).
|
static Protocal |
createPKickout(java.lang.String to_user_id,
int code,
java.lang.String reason)
创建用户被踢包报文对象(该对象由服务端发出).
|
static Protocal |
createPLoginInfo(PLoginInfo loginInfo)
创建用户登陆消息报文对象(该对象由客户端发出).
|
static Protocal |
createPLoginInfoResponse(int code,
long firstLoginTime,
java.lang.String user_id)
创建用户登陆响应消息报文对象(该对象由服务端发出).
|
static Protocal |
createPLoginoutInfo(java.lang.String user_id)
创建用户注消登陆消息报文对象(该对象由客户端发出).
|
static Protocal |
createRecivedBack(java.lang.String from_user_id,
java.lang.String to_user_id,
java.lang.String recievedMessageFingerPrint)
客户端from_user_id向to_user_id发送一个QoS机制中需要的“收到消息应答包”(默认bridge标认为false).
|
static Protocal |
createRecivedBack(java.lang.String from_user_id,
java.lang.String to_user_id,
java.lang.String recievedMessageFingerPrint,
boolean bridge)
客户端from_user_id向to_user_id发送一个QoS机制中需要的“收到消息应答包”.
|
static Protocal |
parse(byte[] fullProtocalJSONBytes,
int len)
将JSON文本反射成Java对象。
|
static <T> T |
parse(byte[] fullProtocalJSONBytes,
int len,
java.lang.Class<T> clazz)
将JSON文本反射成Java对象。
|
static <T> T |
parse(java.lang.String dataContentOfProtocal,
java.lang.Class<T> clazz)
将JSON文本反射成Java对象。
|
static PErrorResponse |
parsePErrorResponse(java.lang.String dataContentOfProtocal)
解析错误响应消息报文对象(该对象由客户端接收).
|
static PKeepAlive |
parsePKeepAlive(java.lang.String dataContentOfProtocal)
本方法主要由MobileIMSDK框架内部使用。
|
static PKeepAliveResponse |
parsePKeepAliveResponse(java.lang.String dataContentOfProtocal)
本方法主要由MobileIMSDK框架内部使用。
|
static PKickoutInfo |
parsePKickoutInfo(java.lang.String dataContentOfProtocal)
解析用户被踢消息报文对象(该对象由客户端接收).
|
static PLoginInfo |
parsePLoginInfo(java.lang.String dataContentOfProtocal)
解析用户登陆消息报文对象(该对象由服务端接收).
|
static PLoginInfoResponse |
parsePLoginInfoResponse(java.lang.String dataContentOfProtocal)
解析用户登陆响应消息报文对象(该对象由客户端接收).
|
public static <T> T parse(byte[] fullProtocalJSONBytes, int len, java.lang.Class<T> clazz)
本方法主要由MobileIMSDK框架内部使用。
fullProtocalJSONBytes
- 对象的json(byte数组组织形式)len
- byte数组有效数据长度clazz
- 要反射成的对象Protocal
报文对象parse(String, Class)
public static <T> T parse(java.lang.String dataContentOfProtocal, java.lang.Class<T> clazz)
本方法主要由MobileIMSDK框架内部使用。
dataContentOfProtocal
- 对象json文本clazz
- 要反射成的对象Protocal
报文对象Gson.fromJson(String, Class)
public static Protocal parse(byte[] fullProtocalJSONBytes, int len)
fullProtocalJSONBytes
- 对象的json(byte数组组织形式)len
- bye数组有效数据长度Protocal
报文对象parse(byte[], int, Class)
public static Protocal createPKeepAliveResponse(java.lang.String to_user_id)
本方法主要由MobileIMSDK框架内部使用。
to_user_id
- Protocal
报文对象public static PKeepAliveResponse parsePKeepAliveResponse(java.lang.String dataContentOfProtocal)
dataContentOfProtocal
- public static Protocal createPKeepAlive(java.lang.String from_user_id)
本方法主要由MobileIMSDK框架内部使用。
from_user_id
- Protocal
报文对象public static PKeepAlive parsePKeepAlive(java.lang.String dataContentOfProtocal)
dataContentOfProtocal
- public static Protocal createPErrorResponse(int errorCode, java.lang.String errorMsg, java.lang.String user_id)
本方法主要由MobileIMSDK框架内部使用。
public static PErrorResponse parsePErrorResponse(java.lang.String dataContentOfProtocal)
本方法主要由MobileIMSDK框架内部使用。
dataContentOfProtocal
- public static Protocal createPLoginoutInfo(java.lang.String user_id)
本方法主要由MobileIMSDK框架内部使用。
user_id
- public static Protocal createPLoginInfo(PLoginInfo loginInfo)
本方法主要由MobileIMSDK框架内部使用。
loginInfo
- 登陆信息对象,详见 PLoginInfo
Protocal
报文对象public static PLoginInfo parsePLoginInfo(java.lang.String dataContentOfProtocal)
本方法主要由MobileIMSDK框架内部使用。
dataContentOfProtocal
- public static Protocal createPLoginInfoResponse(int code, long firstLoginTime, java.lang.String user_id)
本方法主要由MobileIMSDK框架内部使用。
code
- 服务端返回的错误码firstLoginTime
- 客户端首次登陆时间(此时间由服务端在客户端首次登陆时返回的登陆信息中提供,客户端后绪在掉重连时带上本字段,以便服务端用于多端互踢判定逻辑中使用)。此值不设置则默认应置为0。user_id
- 服务端返因的错误信息Protocal
报文对象public static PLoginInfoResponse parsePLoginInfoResponse(java.lang.String dataContentOfProtocal)
本方法主要由MobileIMSDK框架内部使用。
dataContentOfProtocal
- public static Protocal createCommonData(java.lang.String dataContent, java.lang.String from_user_id, java.lang.String to_user_id, boolean QoS, java.lang.String fingerPrint)
友情提示:为了您能定义更优雅的IM协议, 建议优先使用typeu定义您的协议类型,而不是使用默认的-1。
dataContent
- 要发送的消息内容from_user_id
- 发送人的user_idto_user_id
- 接收人的user_idQoS
- 是否需要QoS支持,true表示需要,否则不需要fingerPrint
- 消息指纹特征码,为null则表示由系统自动生成指纹码,否则使用本参数指明的指纹码Protocal
报文对象public static Protocal createCommonData(java.lang.String dataContent, java.lang.String from_user_id, java.lang.String to_user_id, boolean QoS, java.lang.String fingerPrint, int typeu)
dataContent
- 要发送的消息内容from_user_id
- 发送人的user_idto_user_id
- 接收人的user_idQoS
- 是否需要QoS支持,true表示需要,否则不需要fingerPrint
- 消息指纹特征码,为null则表示由系统自动生成指纹码,否则使用本参数指明的指纹码typeu
- 应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型,不需要设置时请填-1即可Protocal
报文对象public static Protocal createRecivedBack(java.lang.String from_user_id, java.lang.String to_user_id, java.lang.String recievedMessageFingerPrint)
本方法主要由MobileIMSDK框架内部使用。
from_user_id
- 发起方to_user_id
- 接收方recievedMessageFingerPrint
- 已收到的消息包指纹码Protocal
报文对象public static Protocal createRecivedBack(java.lang.String from_user_id, java.lang.String to_user_id, java.lang.String recievedMessageFingerPrint, boolean bridge)
本方法主要由MobileIMSDK框架内部使用。
from_user_id
- 发起方to_user_id
- 接收方recievedMessageFingerPrint
- 已收到的消息包指纹码bridge
- true表示是跨机器的桥接消息ACK,否则是本机消息ACK,默认请填falseProtocal
报文对象public static Protocal createPKickout(java.lang.String to_user_id, int code, java.lang.String reason)
本方法主要由MobileIMSDK框架内部使用。
to_user_id
- 接收方code
- 被踢原因编码(本参数不可为空),see PKickoutInfo
中的常量定义,自定义被踢原因请使用>100的值reason
- 被踢原因描述(本参数可为空)Protocal
报文对象public static PKickoutInfo parsePKickoutInfo(java.lang.String dataContentOfProtocal)
本方法主要由MobileIMSDK框架内部使用。
dataContentOfProtocal
-