diff --git a/ABOUT.txt b/ABOUT.txt
index 7609fd57..87c08063 100755
--- a/ABOUT.txt
+++ b/ABOUT.txt
@@ -1,4 +1,4 @@
-【工程名称】:MobileIMSDK v4.0.1, 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于UDP协议,支持iOS、Android、标准Java平台。
+【工程名称】:MobileIMSDK v4.0.2, 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于UDP协议,支持iOS、Android、标准Java平台。
【新版动态】: MobileIMSDK最新v4.0.1版发布于2019年05月13日。
【作者】: Jack Jiang
【QQ】: 413980957
@@ -7,6 +7,7 @@
【Skype】: hellojackjiang
【讨论区】: http://www.52im.net/forum-89-1.html
【工程主页】: https://github.com/JackJiang2011/MobileIMSDK/
+【作者介绍】: http://www.52im.net/thread-2792-1-1.html
【IM技术交流群】: 320837163
【重要说明】:请优先阅读文件“[请读我]目录内容说明.txt”中的内容。
diff --git a/README.md b/README.md
index d6f993cd..3b6ca868 100755
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@
* 可与姊妹工程 [MobileIMSDK-Web](http://www.52im.net/thread-959-1-1.html) 无缝互通实现网页端聊天或推送等;:point_left:
* 可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。
-> MobileIMSDK工程始于2013年10月(当前最新版v4.0.1,[版本更新日志点此查看](http://www.52im.net/thread-1270-1-1.html) ),起初用作某产品的即时通讯底层实现,完全从零开发。
+> MobileIMSDK工程始于2013年10月(当前最新版v4.0.2,[版本更新日志点此查看](http://www.52im.net/thread-1270-1-1.html) ),起初用作某产品的即时通讯底层实现,完全从零开发。
MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所启发和帮助。
:point_right: 您可能需要:[查看更多关于MobileIMSDK的疑问及解答](http://www.52im.net/thread-60-1-1.html)。
@@ -173,7 +173,7 @@ MobileIMSDK版本更新日志:[点此查看](http://www.52im.net/thread-1270-1
* 捐助链接: [点此进入](http://www.52im.net/thread-411-1-1.html)。
# 十五、关注作者
-* 关于作者:[点击进入](http://www.52im.net/thread-2792-1-1.html)):point_left:
+* 关于作者:[点击进入](http://www.52im.net/thread-2792-1-1.html) :point_left:
* 推荐关注:[BeautyEye工程](https://github.com/JackJiang2011/beautyeye)
* 博客地址:[点击入进](http://www.52im.net/space-uid-1.html)
* Github主页:[点击进入](https://github.com/JackJiang2011)
diff --git a/demos/client/MobileIMSDKDemo-Android.apk b/demos/client/MobileIMSDKDemo-Android.apk
index 355453d2..9d1c1b02 100644
Binary files a/demos/client/MobileIMSDKDemo-Android.apk and b/demos/client/MobileIMSDKDemo-Android.apk differ
diff --git a/demos/client/MobileIMSDKDemo-Java.jar b/demos/client/MobileIMSDKDemo-Java.jar
index 2ad449b7..837dec47 100755
Binary files a/demos/client/MobileIMSDKDemo-Java.jar and b/demos/client/MobileIMSDKDemo-Java.jar differ
diff --git a/docs/api_docs/client/android/allclasses-frame.html b/docs/api_docs/client/android/allclasses-frame.html
index 5306e946..1ff473a3 100755
--- a/docs/api_docs/client/android/allclasses-frame.html
+++ b/docs/api_docs/client/android/allclasses-frame.html
@@ -1,34 +1,35 @@
-
-
-
-
限定符和类型 | -常量字段 | -值 | -
---|---|---|
-
-public static final int |
-CHECH_INTERVAL |
-300000 |
-
-
-public static final int |
-MESSAGES_VALID_TIME |
-600000 |
-
限定符和类型 | -常量字段 | -值 | -
---|---|---|
-
-public static final int |
-CHECH_INTERVAL |
-5000 |
-
-
-public static final int |
-MESSAGES_JUST$NOW_TIME |
-3000 |
-
-
-public static final int |
-QOS_TRY_COUNT |
-2 |
-
限定符和类型 | +常量字段 | +值 | +
---|---|---|
+
+public static final int |
+CHECH_INTERVAL |
+300000 |
+
+
+public static final int |
+MESSAGES_VALID_TIME |
+600000 |
+
限定符和类型 | +常量字段 | +值 | +
---|---|---|
+
+public static final int |
+CHECH_INTERVAL |
+5000 |
+
+
+public static final int |
+MESSAGES_JUST$NOW_TIME |
+3000 |
+
+
+public static final int |
+QOS_TRY_COUNT |
+2 |
+
概览 页面是此 API 文档的首页, 提供了所有程序包的列表及其概要。此页面也可能包含这些程序包的总体说明。
-每个程序包都有一个页面, 其中包含它的类和接口的列表及其概要。此页面可以包含六个类别:
-每个类, 接口, 嵌套类和嵌套接口都有各自的页面。其中每个页面都由三部分 (类/接口说明, 概要表, 以及详细的成员说明) 组成:
-每个概要条目都包含该项目的详细说明的第一句。概要条目按字母顺序排列, 而详细说明则按其在源代码中出现的顺序排列。这样保持了程序员所建立的逻辑分组。
-每个注释类型都有各自的页面, 其中包含以下部分:
-每个枚举都有各自的页面, 其中包含以下部分:
-每个已文档化的程序包, 类和接口都有各自的“使用”页面。此页面介绍了使用给定类或程序包的任何部分的程序包, 类, 方法, 构造器和字段。对于给定的类或接口 A, 其“使用”页面包含 A 的子类, 声明为 A 的字段, 返回 A 的方法, 以及带有类型为 A 的参数的方法和构造器。访问此页面的方法是: 首先转至程序包, 类或接口, 然后单击导航栏中的 "使用" 链接。
-对于所有程序包, 有一个 类分层结构 页面, 以及每个程序包的分层结构。每个分层结构页面都包含类的列表和接口的列表。从 java.lang.Object
开始, 按继承结构对类进行排列。接口不从 java.lang.Object
继承。
已过时的 API 页面列出了所有已过时的 API。一般由于进行了改进并且通常提供了替代的 API, 所以建议不要使用已过时的 API。在将来的实现过程中, 可能会删除已过时的 API。
-索引 包含按字母顺序排列的所有类, 接口, 构造器, 方法和字段的列表。
-这些链接使您可以转至下一个或上一个类, 接口, 程序包或相关页面。
-这些链接用于显示和隐藏 HTML 框架。所有页面均具有有框架和无框架两种显示方式。
-所有类链接显示所有类和接口 (除了非静态嵌套类型)。
-每个可序列化或可外部化的类都有其序列化字段和方法的说明。此信息对重新实现者有用, 而对使用 API 的开发者则没有什么用处。尽管导航栏中没有链接, 但您可以通过下列方式获取此信息: 转至任何序列化类, 然后单击类说明的 "另请参阅" 部分中的 "序列化表格"。
-常量字段值页面列出了静态最终字段及其值。
-概览 页面是此 API 文档的首页, 提供了所有程序包的列表及其概要。此页面也可能包含这些程序包的总体说明。
+每个程序包都有一个页面, 其中包含它的类和接口的列表及其概要。此页面可以包含六个类别:
+每个类, 接口, 嵌套类和嵌套接口都有各自的页面。其中每个页面都由三部分 (类/接口说明, 概要表, 以及详细的成员说明) 组成:
+每个概要条目都包含该项目的详细说明的第一句。概要条目按字母顺序排列, 而详细说明则按其在源代码中出现的顺序排列。这样保持了程序员所建立的逻辑分组。
+每个注释类型都有各自的页面, 其中包含以下部分:
+每个枚举都有各自的页面, 其中包含以下部分:
+每个已文档化的程序包, 类和接口都有各自的“使用”页面。此页面介绍了使用给定类或程序包的任何部分的程序包, 类, 方法, 构造器和字段。对于给定的类或接口 A, 其“使用”页面包含 A 的子类, 声明为 A 的字段, 返回 A 的方法, 以及带有类型为 A 的参数的方法和构造器。访问此页面的方法是: 首先转至程序包, 类或接口, 然后单击导航栏中的 "使用" 链接。
+对于所有程序包, 有一个类分层结构页面, 以及每个程序包的分层结构。每个分层结构页面都包含类的列表和接口的列表。从java.lang.Object
开始, 按继承结构对类进行排列。接口不从java.lang.Object
继承。
已过时的 API 页面列出了所有已过时的 API。一般由于进行了改进并且通常提供了替代的 API, 所以建议不要使用已过时的 API。在将来的实现过程中, 可能会删除已过时的 API。
+索引 包含按字母顺序排列的所有类, 接口, 构造器, 方法和字段的列表。
+这些链接使您可以转至下一个或上一个类, 接口, 程序包或相关页面。
+这些链接用于显示和隐藏 HTML 框架。所有页面均具有有框架和无框架两种显示方式。
+所有类链接显示所有类和接口 (除了非静态嵌套类型)。
+每个可序列化或可外部化的类都有其序列化字段和方法的说明。此信息对重新实现者有用, 而对使用 API 的开发者则没有什么用处。尽管导航栏中没有链接, 但您可以通过下列方式获取此信息: 转至任何序列化类, 然后单击类说明的 "另请参阅" 部分中的 "序列化表格"。
+常量字段值页面列出了静态最终字段及其值。
+请使用框架功能查看此文档。如果看到此消息, 则表明您使用的是不支持框架的 Web 客户机。链接到非框架版本。
+public class ClientCoreSDK
-extends java.lang.Object
+
+
+
+
+
+
+public class ClientCoreSDK
+extends java.lang.Object
限定符和类型 | -字段和说明 | -||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
static boolean |
-autoReLogin
+ 本类主要提供一些全局参数的读取和设置。
+
+
-
+
|
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static boolean DEBUG+
public static boolean autoReLogin
什么样的场景下,需要设置本参数为false?比如:上层应用可以在自已的节电逻辑中控 制当网络长时断开时就不需要实质性发起登陆请求了,因为 网络请求是非常耗电的。
- 本参数的设置将实时生效。
public static ClientCoreSDK getInstance()+ 本参数的设置将实时生效。
public static ClientCoreSDK getInstance()
依据作者对MobileIMSDK API的设计理念,本类目前在整个框架运行中 - 是以单例的形式存活。
public void init(Context _context)+ 是以单例的形式存活。
public void init(android.content.Context _context)
- 本方法被调用后, isInitialed()
将返回true,否则返回false。
+ 本方法被调用后, isInitialed()
将返回true,否则返回false。
注意:因Andriod系统在处理网络变动广播 事件的特殊性,本方法应在MobileIMSDK的登陆信息被发出前已被开发者调用完成。 且越早被调用越好(如放在Application的onCreate()方法中或者登陆Activity的 onCreate()方法中)。具体原因详见:LocalUDPDataSender.SendLoginDataAsync - 中由Jack Jiang编写的技术要点备忘录。
net.openmob.mobileimsdk.android.core.LocalUDPDataSender.SendLoginDataAsync}
public void release()+ 中由Jack Jiang编写的技术要点备忘录。
net.openmob.mobileimsdk.android.core.LocalUDPDataSender.SendLoginDataAsync}
public void release()
本方法建议在退出登陆(或退出APP时)时调用。调用时将尝试关闭所有
MobileIMSDK框架的后台守护线程并同设置核心框架init=false、
- loginHasInit
=false、connectedToServer
=false。
public java.lang.String getCurrentLoginUserId()+
loginHasInit
=false、connectedToServer
=false。AutoReLoginDaemon.stop()
,
+QoS4SendDaemon.stop()
,
+KeepAliveDaemon.stop()
,
+LocalUDPDataReciever.stop()
,
+QoS4ReciveDaemon.stop()
,
+LocalUDPSocketProvider.closeLocalUDPSocket()
public java.lang.String getCurrentLoginUserId()
connectedToServer
==true 时才有意义.public ClientCoreSDK setCurrentLoginUserId(java.lang.String currentLoginUserId)+
connectedToServer
==true 时才有意义.
+public ClientCoreSDK setCurrentLoginUserId(java.lang.String currentLoginUserId)
currentLoginUserId
- public java.lang.String getCurrentLoginToken()+ 本方法由框架自动调用,无需也不建议应用层调用。 +
currentLoginUserId
- public java.lang.String getCurrentLoginToken()
connectedToServer
==true 时才有意义.public void setCurrentLoginToken(java.lang.String currentLoginToken)+
connectedToServer
==true 时才有意义.
+public void setCurrentLoginToken(java.lang.String currentLoginToken)
currentLoginToken
- public java.lang.String getCurrentLoginExtra()+ 本方法由框架自动调用,无需也不建议应用层调用。 +
currentLoginToken
- public java.lang.String getCurrentLoginExtra()
connectedToServer
==true 时才有意义.public ClientCoreSDK setCurrentLoginExtra(java.lang.String currentLoginExtra)+
connectedToServer
==true 时才有意义.
+public ClientCoreSDK setCurrentLoginExtra(java.lang.String currentLoginExtra)
currentLoginExtra
- public boolean isLoginHasInit()+ 本方法由框架自动调用,无需也不建议应用层调用。 +
currentLoginExtra
- public boolean isLoginHasInit()
public ClientCoreSDK setLoginHasInit(boolean loginHasInit)+ 服务端反馈会话被注销或系统退出(登陆)时自动被设置为false。 +
public ClientCoreSDK setLoginHasInit(boolean loginHasInit)
loginHasInit
- public boolean isConnectedToServer()+ 本方法由框架自动调用,无需也不建议应用层调用。 +
loginHasInit
- public boolean isConnectedToServer()
此“成功”意味着可以正常与服务端通信(可以近似理解为Socket正常建立) @@ -540,188 +585,211 @@
public void setConnectedToServer(boolean connectedToServer)+
public void setConnectedToServer(boolean connectedToServer)
connectedToServer
- public boolean isInitialed()+ 本方法由框架自动调用,无需也不建议应用层调用。 +
connectedToServer
- public boolean isInitialed()
init(Context)
方法后本字段将被置为true,调用release()
+ 当调用 init(Context)
方法后本字段将被置为true,调用release()
时将被重新置为false.
public boolean isLocalDeviceNetworkOk()-
public void setChatBaseEvent(ChatBaseEvent chatBaseEvent)+ 本参数由框架自动设置。 +
public boolean isLocalDeviceNetworkOk()+
public void setChatBaseEvent(ChatBaseEvent chatBaseEvent)
chatBaseEvent
- 框架基础通信消息的回调事件通知实现对象引用public ChatBaseEvent getChatBaseEvent()+ 有:登陆成功事件通知、掉线事件通知) +
chatBaseEvent
- 框架基础通信消息的回调事件通知实现对象引用public ChatBaseEvent getChatBaseEvent()
public void setChatTransDataEvent(ChatTransDataEvent chatTransDataEvent)+ 有:登陆成功事件通知、掉线事件通知) +
public void setChatTransDataEvent(ChatTransDataEvent chatTransDataEvent)
chatTransDataEvent
- 通用数据通信消息的回调事件通知实现对象引用public ChatTransDataEvent getChatTransDataEvent()+ 有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。 +
chatTransDataEvent
- 通用数据通信消息的回调事件通知实现对象引用public ChatTransDataEvent getChatTransDataEvent()
public void setMessageQoSEvent(MessageQoSEvent messageQoSEvent)+ 有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。 +
public void setMessageQoSEvent(MessageQoSEvent messageQoSEvent)
messageQoSEvent
- 通用数据通信消息的回调事件通知实现对象引用public MessageQoSEvent getMessageQoSEvent()+ 有:消息未成功发送的通知、消息已被对方成功收到的通知等)。 +
messageQoSEvent
- 通用数据通信消息的回调事件通知实现对象引用public MessageQoSEvent getMessageQoSEvent()
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android | -
- Android版核心主类。
- |
-
限定符和类型 | -方法和说明 | -||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
static ClientCoreSDK |
-ClientCoreSDK.getInstance()
-取得本类实例的唯一公开方法。
- |
-||||||||||||||||||
ClientCoreSDK |
-ClientCoreSDK.setCurrentLoginExtra(java.lang.String currentLoginExtra)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+类的使用
+ |
+
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android | +
+ Android版核心主类。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static ClientCoreSDK |
+ClientCoreSDK.getInstance()
+取得本类实例的唯一公开方法。
+ |
+
ClientCoreSDK |
+ClientCoreSDK.setCurrentLoginExtra(java.lang.String currentLoginExtra)
登陆信息成功发出后就会设置本字段(即登陆额外信息,其是由调用者自行设置
- ,不设置则为null),登陆额外信息也将在掉线后自动重连时使用。
- |
-
ClientCoreSDK |
-ClientCoreSDK.setCurrentLoginUserId(java.lang.String currentLoginUserId)
+ ,不设置则为null),登陆额外信息也将在掉线后自动重连时使用。
+ |
+
ClientCoreSDK |
+ClientCoreSDK.setCurrentLoginUserId(java.lang.String currentLoginUserId)
登陆信息成功发出后就会设置本字段(即登陆uid),登陆uid也将
- 在掉线后自动重连时使用。
- |
-
ClientCoreSDK |
-ClientCoreSDK.setLoginHasInit(boolean loginHasInit)
+ 在掉线后自动重连时使用。
+ |
+
ClientCoreSDK |
+ClientCoreSDK.setLoginHasInit(boolean loginHasInit)
当且仅当用户从登陆界面成功登陆后设置本字段为true,
- 服务端反馈会话被注销或系统退出(登陆)时自动被设置为false。
- |
-
public static enum ConfigEntity.SenseMode -extends java.lang.Enum<ConfigEntity.SenseMode>+ + + + + + +
public static enum ConfigEntity.SenseMode +extends java.lang.Enum<ConfigEntity.SenseMode>
@@ -120,293 +133,302 @@
重要说明:客户端本模式的设定必须要与服务端的模式设制保持一致,否则 - 可能因参数的不一致而导致IM算法的不匹配,进而出现不可预知的问题。
枚举常量和说明 | -||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MODE_10S
+ 可能因参数的不一致而导致IM算法的不匹配,进而出现不可预知的问题。
+
+
-
-
+
|
+
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
getClass, notify, notifyAll, wait, wait, wait
public static final ConfigEntity.SenseMode MODE_3S
public static final ConfigEntity.SenseMode MODE_10S+ * 10秒后未收到服务端心跳反馈即认为连接已断开(相当于连续3 个心跳间隔后仍未收到服务端反馈)。
public static final ConfigEntity.SenseMode MODE_10S
public static final ConfigEntity.SenseMode MODE_30S+ * 21秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。
public static final ConfigEntity.SenseMode MODE_30S
public static final ConfigEntity.SenseMode MODE_60S+ * 61秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。
public static final ConfigEntity.SenseMode MODE_60S
public static final ConfigEntity.SenseMode MODE_120S+ * 121秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。
public static final ConfigEntity.SenseMode MODE_120S
public static ConfigEntity.SenseMode[] values()+ * 241秒后未收到服务端心跳反馈即认为连接已断开(相当于连续2 个心跳间隔后仍未收到服务端反馈)。 +
public static ConfigEntity.SenseMode[] values()
for (ConfigEntity.SenseMode c : ConfigEntity.SenseMode.values()) System.out.println(c); -
public static ConfigEntity.SenseMode valueOf(java.lang.String name)+ +
public static ConfigEntity.SenseMode valueOf(java.lang.String name)
name
- 要返回的枚举常量的名称。java.lang.IllegalArgumentException
- 如果该枚举类型没有带有指定名称的常量,
-则抛出 IllegalArgumentExceptionjava.lang.NullPointerException
- 如果参数为空值, 则抛出 NullPointerExceptionname
- 要返回的枚举常量的名称。java.lang.IllegalArgumentException
- 如果该枚举类型没有带有指定名称的常量java.lang.NullPointerException
- 如果参数为空值public class ConfigEntity
-extends java.lang.Object
-限定符和类型 | -类和说明 | -
---|---|
static class |
-ConfigEntity.SenseMode
-MobileIMSDK即时通讯核心框架预设的敏感度模式.
- |
-
限定符和类型 | -字段和说明 | -
---|---|
static java.lang.String |
-appKey
-全局设置:AppKey。
- |
-
static int |
-localUDPPort
-全局设置:本地UDP数据发送和侦听端口。
- |
-
static java.lang.String |
-serverIP
-全局设置:服务端IP或域名。
- |
-
static int |
-serverUDPPort
-全局设置:服务端UDP服务侦听端口号。
- |
-
构造器和说明 | -
---|
ConfigEntity() |
-
限定符和类型 | -方法和说明 | -
---|---|
static void |
-setSenseMode(ConfigEntity.SenseMode mode)
-设置MobileIMSDK即时通讯核心框架预设的敏感度模式。
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static java.lang.String appKey-
public static java.lang.String serverIP+ + + + + + +
public class ConfigEntity
+extends java.lang.Object
+限定符和类型 | +类和说明 | +
---|---|
static class |
+ConfigEntity.SenseMode
+MobileIMSDK即时通讯核心框架预设的敏感度模式.
+ |
+
限定符和类型 | +字段和说明 | +
---|---|
static java.lang.String |
+appKey
+全局设置:AppKey。
+ |
+
static int |
+localUDPPort
+全局设置:本地UDP数据发送和侦听端口。
+ |
+
static java.lang.String |
+serverIP
+全局设置:服务端IP或域名。
+ |
+
static int |
+serverUDPPort
+全局设置:服务端UDP服务侦听端口号。
+ |
+
构造器和说明 | +
---|
ConfigEntity() |
+
限定符和类型 | +方法和说明 | +
---|---|
static void |
+setSenseMode(ConfigEntity.SenseMode mode)
+设置MobileIMSDK即时通讯核心框架预设的敏感度模式。
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static int serverUDPPort
- 如需设置本参数,请在登陆前调用,否则将不起效。
public static int localUDPPort+ 如需设置本参数,请在登陆前调用,否则将不起效。
public static int localUDPPort
@@ -293,41 +308,41 @@
2018-11-24日注:经过大量客户的实践和反馈,固定端口没多少好处,而且平时没注意 - 就搞出了端口被占用的小问题,所以 v3.3.2中将7801改回了0端口.
public static void setSenseMode(ConfigEntity.SenseMode mode)+ 就搞出了端口被占用的小问题,所以 v3.3.2中将7801改回了0端口.
public static void setSenseMode(ConfigEntity.SenseMode mode)
@@ -335,78 +350,85 @@
重要说明:客户端本模式的设定必须要与服务端的模式设制保持一致,否则 - 可能因参数的不一致而导致IM算法的不匹配,进而出现不可预知的问题。
mode
- ConfigEntity.SenseMode
mode
- ConfigEntity.SenseMode
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.conf | -
- 有关配置设置的类。
- |
-
限定符和类型 | -方法和说明 | -||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
static ConfigEntity.SenseMode |
-ConfigEntity.SenseMode.valueOf(java.lang.String name)
-返回带有指定名称的该类型的枚举常量。
- |
-||||||||||||||
static ConfigEntity.SenseMode[] |
-ConfigEntity.SenseMode.values()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+类的使用
+ |
+
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.conf | +
+ 有关配置设置的类。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static ConfigEntity.SenseMode |
+ConfigEntity.SenseMode.valueOf(java.lang.String name)
+返回带有指定名称的该类型的枚举常量。
+ |
+
static ConfigEntity.SenseMode[] |
+ConfigEntity.SenseMode.values()
按照声明该枚举类型的常量的顺序, 返回
-包含这些常量的数组。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static void |
-ConfigEntity.setSenseMode(ConfigEntity.SenseMode mode)
-设置MobileIMSDK即时通讯核心框架预设的敏感度模式。
- |
-
限定符和类型 | +方法和说明 | +
---|---|
static void |
+ConfigEntity.setSenseMode(ConfigEntity.SenseMode mode)
+设置MobileIMSDK即时通讯核心框架预设的敏感度模式。
+ |
+
类 | -说明 | -
---|---|
ConfigEntity | -
- MobileIMSDK的全局参数控制类。
- |
-
枚举 | -说明 | -
---|---|
ConfigEntity.SenseMode | -
- MobileIMSDK即时通讯核心框架预设的敏感度模式.
- |
-
类 | +说明 | +
---|---|
ConfigEntity | +
+ MobileIMSDK的全局参数控制类。
+ |
+
枚举 | +说明 | +
---|---|
ConfigEntity.SenseMode | +
+ MobileIMSDK即时通讯核心框架预设的敏感度模式.
+ |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.conf | -
- 有关配置设置的类。
- |
-
类和说明 | -
---|
ConfigEntity.SenseMode
- MobileIMSDK即时通讯核心框架预设的敏感度模式.
- |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.conf | +
+ 有关配置设置的类。
+ |
+
类和说明 | +
---|
ConfigEntity.SenseMode
+ MobileIMSDK即时通讯核心框架预设的敏感度模式.
+ |
+
public class AutoReLoginDaemon
-extends java.lang.Object
+
+
+
+
+
+
+public class AutoReLoginDaemon
+extends java.lang.Object
注意:自动登陆(重连)只可能发生在登陆成功后与服务端的网络通信断开时。
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
LocalUDPDataSender.SendLoginDataAsync
,
-ConfigEntity
限定符和类型 | -字段和说明 | -
---|---|
static int |
-AUTO_RE$LOGIN_INTERVAL
-自动重新登陆时间间隔(单位:毫秒),默认2000毫秒。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static AutoReLoginDaemon |
-getInstance(Context context) |
-
boolean |
-isAutoReLoginRunning()
-线程是否正在运行中。
- |
-
boolean |
-isInit()
-本类对象是否已补初始化过。
- |
-
void |
-start(boolean immediately)
-启动线程。
- |
-
void |
-stop()
-无条件中断本线程的运行。
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
LocalUDPDataSender.SendLoginDataAsync
,
+ConfigEntity
限定符和类型 | +字段和说明 | +
---|---|
static int |
+AUTO_RE$LOGIN_INTERVAL
+自动重新登陆时间间隔(单位:毫秒),默认2000毫秒。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static AutoReLoginDaemon |
+getInstance(android.content.Context context) |
+
boolean |
+isAutoReLoginRunning()
+线程是否正在运行中。
+ |
+
boolean |
+isInit()
+本类对象是否已补初始化过。
+ |
+
void |
+start(boolean immediately)
+启动线程。
+ |
+
void |
+stop()
+无条件中断本线程的运行。
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static int AUTO_RE$LOGIN_INTERVAL
此参数只会影响断线后与服务器连接的即时性,不受任何配置参数 的影响。请基于重连(重登陆)即时性和手机能耗上作出权衡。
除非对MobileIMSDK的整个即时通讯算法非常了解,否则请勿尝试单独设置本参数。如
- 需调整心跳频率请见 #setSenseMode(net.openmob.mobileimsdk.android.conf.ConfigEntity.SenseMode)
。
public static AutoReLoginDaemon getInstance(Context context)-
public void stop()+ 需调整心跳频率请见
#setSenseMode(net.openmob.mobileimsdk.android.conf.ConfigEntity.SenseMode)
。public static AutoReLoginDaemon getInstance(android.content.Context context)+
public void stop()
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public void start(boolean immediately)+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public void start(boolean immediately)
- 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
+ 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
以便确保线程被启动前是真正处于停止状态,这也意味着可无害调用本方法。
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
immediately
- true表示立即执行线程作业,否则直到 AUTO_RE$LOGIN_INTERVAL
- 执行间隔的到来才进行首次作业的执行public boolean isAutoReLoginRunning()-
public boolean isInit()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
immediately
- true表示立即执行线程作业,否则直到 AUTO_RE$LOGIN_INTERVAL
+ 执行间隔的到来才进行首次作业的执行public boolean isAutoReLoginRunning()+
public boolean isInit()
init
。init
。
+public class KeepAliveDaemon
-extends java.lang.Object
+
+
+
+
+
+
+public class KeepAliveDaemon
+extends java.lang.Object
Keep alive的目的有2个: @@ -121,141 +134,143 @@
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
限定符和类型 | -字段和说明 | -
---|---|
static int |
-KEEP_ALIVE_INTERVAL
-Keep Alive 心跳时间间隔(单位:毫秒),默认3000毫秒.
- |
-
static int |
-NETWORK_CONNECTION_TIME_OUT
-收到服务端响应心跳包的超时间时间(单位:毫秒),默认(3000 * 3 + 1000)= 10000 毫秒.
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static KeepAliveDaemon |
-getInstance(Context context) |
-
boolean |
-isInit()
-本类对象是否已补初始化过。
- |
-
boolean |
-isKeepAliveRunning()
-线程是否正在运行中。
- |
-
void |
-setNetworkConnectionLostObserver(java.util.Observer networkConnectionLostObserver)
-设置网络断开事件观察者.
- |
-
void |
-start(boolean immediately)
-启动线程。
- |
-
void |
-stop()
-无条件中断本线程的运行。
- |
-
void |
-updateGetKeepAliveResponseFromServerTimstamp()
-收到服务端反馈的心跳包时调用此方法:作用是更新服务端最背后的响应时间戳.
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
限定符和类型 | +字段和说明 | +
---|---|
static int |
+KEEP_ALIVE_INTERVAL
+Keep Alive 心跳时间间隔(单位:毫秒),默认3000毫秒.
+ |
+
static int |
+NETWORK_CONNECTION_TIME_OUT
+收到服务端响应心跳包的超时间时间(单位:毫秒),默认(3000 * 3 + 1000)= 10000 毫秒.
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static KeepAliveDaemon |
+getInstance(android.content.Context context) |
+
boolean |
+isInit()
+本类对象是否已补初始化过。
+ |
+
boolean |
+isKeepAliveRunning()
+线程是否正在运行中。
+ |
+
void |
+setNetworkConnectionLostObserver(java.util.Observer networkConnectionLostObserver)
+设置网络断开事件观察者.
+ |
+
void |
+start(boolean immediately)
+启动线程。
+ |
+
void |
+stop()
+无条件中断本线程的运行。
+ |
+
void |
+updateGetKeepAliveResponseFromServerTimstamp()
+收到服务端反馈的心跳包时调用此方法:作用是更新服务端最背后的响应时间戳.
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static int NETWORK_CONNECTION_TIME_OUT
超过这个时间客户端将判定与服务端的网络连接已断开(此间隔建议为(KEEP_ALIVE_INTERVAL * 3) + 1 秒), 没有上限,但不可太长,否则将不能即时反映出与服务器端的连接断开(比如掉掉线时),请从 能忍受的反应时长和即时性上做出权衡。
- 本参数除与KEEP_ALIVE_INTERVAL
有关联外,不受其它设置影响。
public static int KEEP_ALIVE_INTERVAL+ 本参数除与
KEEP_ALIVE_INTERVAL
有关联外,不受其它设置影响。public static int KEEP_ALIVE_INTERVAL
心跳间隔越短则保持会话活性的健康度更佳,但将使得在大量客户端连接情况下服务端因此而增加负载, @@ -264,172 +279,187 @@
- 参定此参数的同时,也需要相应设置服务端的ServerLauncher.SESION_RECYCLER_EXPIRE参数。
public static KeepAliveDaemon getInstance(Context context)-
public void stop()+ 参定此参数的同时,也需要相应设置服务端的ServerLauncher.SESION_RECYCLER_EXPIRE参数。
public static KeepAliveDaemon getInstance(android.content.Context context)+
public void stop()
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public void start(boolean immediately)+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public void start(boolean immediately)
- 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
+ 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
以便确保线程被启动前是真正处于停止状态,这也意味着可无害调用本方法。
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
immediately
- true表示立即执行线程作业,否则直到 KEEP_ALIVE_INTERVAL
- 执行间隔的到来才进行首次作业的执行public boolean isKeepAliveRunning()-
public boolean isInit()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。 +
immediately
- true表示立即执行线程作业,否则直到 KEEP_ALIVE_INTERVAL
+ 执行间隔的到来才进行首次作业的执行public boolean isKeepAliveRunning()+
public boolean isInit()
init
。public void updateGetKeepAliveResponseFromServerTimstamp()+ 无论如何时请务必确保本对象的业务方法在执行前已经调用过
init
。
+public void updateGetKeepAliveResponseFromServerTimstamp()
- 本方法的调用,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public void setNetworkConnectionLostObserver(java.util.Observer networkConnectionLostObserver)+ 本方法的调用,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。 +
public void setNetworkConnectionLostObserver(java.util.Observer networkConnectionLostObserver)
- 本方法的调用,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
networkConnectionLostObserver
- networkConnectionLostObserver
- public class LocalUDPDataReciever
-extends java.lang.Object
+
+
+
+
+
+
+public class LocalUDPDataReciever
+extends java.lang.Object
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
限定符和类型 | -方法和说明 | -
---|---|
static LocalUDPDataReciever |
-getInstance(Context context) |
-
boolean |
-isInit()
-本类对象是否已补初始化过。
- |
-
void |
-startup()
-启动线程。
- |
-
void |
-stop()
-无条件中断本线程的运行。
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static LocalUDPDataReciever getInstance(Context context)-
public void stop()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
限定符和类型 | +方法和说明 | +
---|---|
static LocalUDPDataReciever |
+getInstance(android.content.Context context) |
+
boolean |
+isInit()
+本类对象是否已补初始化过。
+ |
+
void |
+startup()
+启动线程。
+ |
+
void |
+stop()
+无条件中断本线程的运行。
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static LocalUDPDataReciever getInstance(android.content.Context context)+
public void stop()
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public void startup()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public void startup()-
public boolean isInit()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public boolean isInit()
init
。init
。
+public abstract static class LocalUDPDataSender.SendCommonDataAsync -extends+ + + + + + +
public abstract static class LocalUDPDataSender.SendCommonDataAsync
+extends android.os.AsyncTask<java.lang.Object,java.lang.Integer,java.lang.Integer>
onPostExecute(Integer)
方法。
+ 子类需自行实现 onPostExecute(Integer)
方法。
为保持API使用的一致性,此类为本库的推荐实现类,但并非必须要使用,使用者也
- 可自行设计异步数据发送过程(如使用AsyncTask
)。
ProtocalFactory.createCommonData(String, String, String, boolean, String, int)
,
-LocalUDPDataSender.sendCommonData(Protocal)
限定符和类型 | -字段和说明 | -
---|---|
protected Context |
-context |
-
protected net.openmob.mobileimsdk.server.protocal.Protocal |
-p |
-
构造器和说明 | -
---|
LocalUDPDataSender.SendCommonDataAsync(Context context,
- net.openmob.mobileimsdk.server.protocal.Protocal p)
-构造方法。
- |
-
LocalUDPDataSender.SendCommonDataAsync(Context context,
- java.lang.String dataContentWidthStr,
- java.lang.String to_user_id)
-(默认QoS=true、typeu值=-1)
- |
-
LocalUDPDataSender.SendCommonDataAsync(Context context,
- java.lang.String dataContentWidthStr,
- java.lang.String to_user_id,
- int typeu)
-(默认QoS=true)
- |
-
LocalUDPDataSender.SendCommonDataAsync(Context context,
- java.lang.String dataContentWidthStr,
- java.lang.String to_user_id,
- java.lang.String fingerPrint,
- int typeu)
-(默认QoS=true)
- |
-
限定符和类型 | -方法和说明 | -
---|---|
protected java.lang.Integer |
-doInBackground(java.lang.Object... params) |
-
protected abstract void |
-onPostExecute(java.lang.Integer code) |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected Context context-
protected net.openmob.mobileimsdk.server.protocal.Protocal p-
public LocalUDPDataSender.SendCommonDataAsync(Context context, - java.lang.String dataContentWidthStr, - java.lang.String to_user_id)-
context
- dataContentWidthStr
- to_user_id
- #SendCommonDataAsync(Context, String, String, String, int)
public LocalUDPDataSender.SendCommonDataAsync(Context context, - java.lang.String dataContentWidthStr, - java.lang.String to_user_id, - int typeu)-
context
- dataContentWidthStr
- to_user_id
- typeu
- #SendCommonDataAsync(Context, String, String, String, int)
public LocalUDPDataSender.SendCommonDataAsync(Context context, - java.lang.String dataContentWidthStr, - java.lang.String to_user_id, - java.lang.String fingerPrint, - int typeu)-
context
- dataContentWidthStr
- to_user_id
- fingerPrint
- typeu
- #SendCommonDataAsync(Context, Protocal)
public LocalUDPDataSender.SendCommonDataAsync(Context context, - net.openmob.mobileimsdk.server.protocal.Protocal p)-
context
- p
- AsyncTask
)。ProtocalFactory.createCommonData(String, String, String, boolean, String, int)
,
+LocalUDPDataSender.sendCommonData(Protocal)
限定符和类型 | +字段和说明 | +
---|---|
protected android.content.Context |
+context |
+
protected net.openmob.mobileimsdk.server.protocal.Protocal |
+p |
+
SERIAL_EXECUTOR, THREAD_POOL_EXECUTOR
构造器和说明 | +
---|
SendCommonDataAsync(android.content.Context context,
+ net.openmob.mobileimsdk.server.protocal.Protocal p)
+构造方法。
+ |
+
SendCommonDataAsync(android.content.Context context,
+ java.lang.String dataContentWidthStr,
+ java.lang.String to_user_id)
+(默认QoS=true、typeu值=-1)
+ |
+
SendCommonDataAsync(android.content.Context context,
+ java.lang.String dataContentWidthStr,
+ java.lang.String to_user_id,
+ int typeu)
+(默认QoS=true)
+ |
+
SendCommonDataAsync(android.content.Context context,
+ java.lang.String dataContentWidthStr,
+ java.lang.String to_user_id,
+ java.lang.String fingerPrint,
+ int typeu)
+(默认QoS=true)
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
protected java.lang.Integer |
+doInBackground(java.lang.Object... params) |
+
protected abstract void |
+onPostExecute(java.lang.Integer code) |
+
cancel, execute, execute, executeOnExecutor, get, get, getStatus, isCancelled, onCancelled, onCancelled, onPreExecute, onProgressUpdate, publishProgress
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected android.content.Context context+
protected net.openmob.mobileimsdk.server.protocal.Protocal p+
public SendCommonDataAsync(android.content.Context context, + java.lang.String dataContentWidthStr, + java.lang.String to_user_id)+
context
- dataContentWidthStr
- to_user_id
- #SendCommonDataAsync(Context, String, String, String, int)
public SendCommonDataAsync(android.content.Context context, + java.lang.String dataContentWidthStr, + java.lang.String to_user_id, + int typeu)+
context
- dataContentWidthStr
- to_user_id
- typeu
- #SendCommonDataAsync(Context, String, String, String, int)
public SendCommonDataAsync(android.content.Context context, + java.lang.String dataContentWidthStr, + java.lang.String to_user_id, + java.lang.String fingerPrint, + int typeu)+
context
- dataContentWidthStr
- to_user_id
- fingerPrint
- typeu
- #SendCommonDataAsync(Context, Protocal)
public SendCommonDataAsync(android.content.Context context, + net.openmob.mobileimsdk.server.protocal.Protocal p)+
context
- p
- protected java.lang.Integer doInBackground(java.lang.Object... params)+
doInBackground
在类中 android.os.AsyncTask<java.lang.Object,java.lang.Integer,java.lang.Integer>
protected abstract void onPostExecute(java.lang.Integer code)+
onPostExecute
在类中 android.os.AsyncTask<java.lang.Object,java.lang.Integer,java.lang.Integer>
public abstract static class LocalUDPDataSender.SendLoginDataAsync -extends+ + + + + + +
public abstract static class LocalUDPDataSender.SendLoginDataAsync
+extends android.os.AsyncTask<java.lang.Object,java.lang.Integer,java.lang.Integer>
fireAfterSendLogin(int)
方法,以便实现登陆发出后的UI处理。
+ 子类需自行实现 fireAfterSendLogin(int)
方法,以便实现登陆发出后的UI处理。
此类为本库的默认实现类,非必须要使用,使用者也可自行设计异步登陆过程(如使用AsyncTask
)。
注意:因Andriod系统在处理网络变动广播事件的特殊性,本类中没有
- 像Java或iOS平台那样默认调用MobileIMSDK的核心库的初始化方法ClientCoreSDK.init(Context)
,
- 所以在发送登陆发前,请确保ClientCoreSDK.init(Context)
已经被调用过,且越早被调用越好(如
- 放在Application的onCreate()方法中或者登陆Activity的onCreate()方法中)。
限定符和类型 | -字段和说明 | -
---|---|
protected Context |
-context |
-
protected java.lang.String |
-extra |
-
protected java.lang.String |
-loginToken |
-
protected java.lang.String |
-loginUserId |
-
构造器和说明 | -
---|
LocalUDPDataSender.SendLoginDataAsync(Context context,
- java.lang.String loginUserId,
- java.lang.String loginToken)
-构造方法(默认extra字段为null)。
- |
-
LocalUDPDataSender.SendLoginDataAsync(Context context,
- java.lang.String loginUserId,
- java.lang.String loginToken,
- java.lang.String extra)
-构造方法。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
protected java.lang.Integer |
-doInBackground(java.lang.Object... params) |
-
protected void |
-fireAfterSendLogin(int code)
-登陆请求包发出后的处理。
- |
-
protected void |
-onPostExecute(java.lang.Integer code) |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected Context context-
protected java.lang.String loginUserId-
protected java.lang.String loginToken-
protected java.lang.String extra-
public LocalUDPDataSender.SendLoginDataAsync(Context context, - java.lang.String loginUserId, - java.lang.String loginToken)-
context
- loginUserId
- 提交到服务端的准一id,保证唯一就可以通信,可能是登陆用户名、
- 也可能是任意不重复的id等,具体意义由业务层决定loginToken
- 提交到服务端用于身份鉴别和合法性检查的token,它可能是登陆密码
- ,也可能是通过前置单点登陆接口拿到的token等,具体意义由业务层决定public LocalUDPDataSender.SendLoginDataAsync(Context context, - java.lang.String loginUserId, - java.lang.String loginToken, - java.lang.String extra)-
context
- loginUserId
- 提交到服务端的准一id,保证唯一就可以通信,可能是登陆用户名、
- 也可能是任意不重复的id等,具体意义由业务层决定loginToken
- 提交到服务端用于身份鉴别和合法性检查的token,它可能是登陆密码
- ,也可能是通过前置单点登陆接口拿到的token等,具体意义由业务层决定extra
- 额外信息字符串,可为null。本字段目前为保留字段,供上层应用自行放置需要的内容protected java.lang.Integer doInBackground(java.lang.Object... params)-
protected void onPostExecute(java.lang.Integer code)-
protected void fireAfterSendLogin(int code)-
code
- 0表示数据发出成功,否则返回的是错误码ClientCoreSDK.init(Context)
,
+ 所以在发送登陆发前,请确保ClientCoreSDK.init(Context)
已经被调用过,且越早被调用越好(如
+ 放在Application的onCreate()方法中或者登陆Activity的onCreate()方法中)。限定符和类型 | +字段和说明 | +
---|---|
protected android.content.Context |
+context |
+
protected java.lang.String |
+extra |
+
protected java.lang.String |
+loginToken |
+
protected java.lang.String |
+loginUserId |
+
SERIAL_EXECUTOR, THREAD_POOL_EXECUTOR
构造器和说明 | +
---|
SendLoginDataAsync(android.content.Context context,
+ java.lang.String loginUserId,
+ java.lang.String loginToken)
+构造方法(默认extra字段为null)。
+ |
+
SendLoginDataAsync(android.content.Context context,
+ java.lang.String loginUserId,
+ java.lang.String loginToken,
+ java.lang.String extra)
+构造方法。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
protected java.lang.Integer |
+doInBackground(java.lang.Object... params) |
+
protected void |
+fireAfterSendLogin(int code)
+登陆请求包发出后的处理。
+ |
+
protected void |
+onPostExecute(java.lang.Integer code) |
+
cancel, execute, execute, executeOnExecutor, get, get, getStatus, isCancelled, onCancelled, onCancelled, onPreExecute, onProgressUpdate, publishProgress
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
protected android.content.Context context+
protected java.lang.String loginUserId+
protected java.lang.String loginToken+
protected java.lang.String extra+
public SendLoginDataAsync(android.content.Context context, + java.lang.String loginUserId, + java.lang.String loginToken)+
context
- loginUserId
- 提交到服务端的准一id,保证唯一就可以通信,可能是登陆用户名、
+ 也可能是任意不重复的id等,具体意义由业务层决定loginToken
- 提交到服务端用于身份鉴别和合法性检查的token,它可能是登陆密码
+ ,也可能是通过前置单点登陆接口拿到的token等,具体意义由业务层决定public SendLoginDataAsync(android.content.Context context, + java.lang.String loginUserId, + java.lang.String loginToken, + java.lang.String extra)+
context
- loginUserId
- 提交到服务端的准一id,保证唯一就可以通信,可能是登陆用户名、
+ 也可能是任意不重复的id等,具体意义由业务层决定loginToken
- 提交到服务端用于身份鉴别和合法性检查的token,它可能是登陆密码
+ ,也可能是通过前置单点登陆接口拿到的token等,具体意义由业务层决定extra
- 额外信息字符串,可为null。本字段目前为保留字段,供上层应用自行放置需要的内容protected java.lang.Integer doInBackground(java.lang.Object... params)+
doInBackground
在类中 android.os.AsyncTask<java.lang.Object,java.lang.Integer,java.lang.Integer>
protected void onPostExecute(java.lang.Integer code)+
onPostExecute
在类中 android.os.AsyncTask<java.lang.Object,java.lang.Integer,java.lang.Integer>
protected void fireAfterSendLogin(int code)+
code
- 0表示数据发出成功,否则返回的是错误码public class LocalUDPDataSender
-extends java.lang.Object
+
+
+
+
+
+
+public class LocalUDPDataSender
+extends java.lang.Object
- 本类是MobileIMSDK框架的唯一提供数据发送的公开实用类。
限定符和类型 | -类和说明 | -
---|---|
static class |
-LocalUDPDataSender.SendCommonDataAsync
-通用数据发送异步线程实现抽象类。
- |
-
static class |
-LocalUDPDataSender.SendLoginDataAsync
-登陆异步线程实现类。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static LocalUDPDataSender |
-getInstance(Context context) |
-
int |
-sendCommonData(net.openmob.mobileimsdk.server.protocal.Protocal p)
-通用数据发送的根方法。
- |
-
int |
-sendCommonData(java.lang.String dataContentWidthStr,
- java.lang.String to_user_id)
-通用数据发送方法(默认Qos=true、typeu字段=-1)。
- |
-
int |
-sendCommonData(java.lang.String dataContentWidthStr,
- java.lang.String to_user_id,
- boolean QoS,
- java.lang.String fingerPrint,
- int typeu)
-通用数据发送方法。
- |
-
int |
-sendCommonData(java.lang.String dataContentWidthStr,
- java.lang.String to_user_id,
- int typeu)
-通用数据发送方法(默认Qos=true)。
- |
-
int |
-sendCommonData(java.lang.String dataContentWidthStr,
- java.lang.String to_user_id,
- java.lang.String fingerPrint,
- int typeu)
-通用数据发送方法(默认QoS=true,即需要QoS机制支持)。
- |
-
int |
-sendLoginout()
-发送注销登陆信息.
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static LocalUDPDataSender getInstance(Context context)-
public int sendLoginout()+ 本类是MobileIMSDK框架的唯一提供数据发送的公开实用类。
限定符和类型 | +类和说明 | +
---|---|
static class |
+LocalUDPDataSender.SendCommonDataAsync
+通用数据发送异步线程实现抽象类。
+ |
+
static class |
+LocalUDPDataSender.SendLoginDataAsync
+登陆异步线程实现类。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static LocalUDPDataSender |
+getInstance(android.content.Context context) |
+
int |
+sendCommonData(net.openmob.mobileimsdk.server.protocal.Protocal p)
+通用数据发送的根方法。
+ |
+
int |
+sendCommonData(java.lang.String dataContentWidthStr,
+ java.lang.String to_user_id)
+通用数据发送方法(默认Qos=true、typeu字段=-1)。
+ |
+
int |
+sendCommonData(java.lang.String dataContentWidthStr,
+ java.lang.String to_user_id,
+ boolean QoS,
+ java.lang.String fingerPrint,
+ int typeu)
+通用数据发送方法。
+ |
+
int |
+sendCommonData(java.lang.String dataContentWidthStr,
+ java.lang.String to_user_id,
+ int typeu)
+通用数据发送方法(默认Qos=true)。
+ |
+
int |
+sendCommonData(java.lang.String dataContentWidthStr,
+ java.lang.String to_user_id,
+ java.lang.String fingerPrint,
+ int typeu)
+通用数据发送方法(默认QoS=true,即需要QoS机制支持)。
+ |
+
int |
+sendLoginout()
+发送注销登陆信息.
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static LocalUDPDataSender getInstance(android.content.Context context)+
public int sendLoginout()
注意:此方法的调用将被本库理解为退出库的使用,本方法将会额外调
- 用资源释放方法ClientCoreSDK.release()
,以保证资源释放。
+ 用资源释放方法ClientCoreSDK.release()
,以保证资源释放。
- 本方法调用后,除非再次进行登陆过程,否则核心库将处于初始未初始化状态。
send(byte[], int)
public int sendCommonData(java.lang.String dataContentWidthStr, - java.lang.String to_user_id)-
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idsendCommonData(String, String, int)
public int sendCommonData(java.lang.String dataContentWidthStr, - java.lang.String to_user_id, - int typeu)-
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idtypeu
- 应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型。注意:此值为-1时表示未定义。
- MobileIMSDK_X框架中,本字段为保留字段,不参与框架的核心算法,专留作应用层自行定义和使用。sendCommonData(String, String, String, int)
public int sendCommonData(java.lang.String dataContentWidthStr, - java.lang.String to_user_id, - java.lang.String fingerPrint, - int typeu)-
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idfingerPrint
- QoS机制中要用到的指纹码(即消息包唯一id),可设为null,生成方法见 Protocal.genFingerPrint()
typeu
- 应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型。注意:此值为-1时表示未定义。
- MobileIMSDK_X框架中,本字段为保留字段,不参与框架的核心算法,专留作应用层自行定义和使用。sendCommonData(String, String, boolean, String, int)
public int sendCommonData(java.lang.String dataContentWidthStr, - java.lang.String to_user_id, - boolean QoS, - java.lang.String fingerPrint, - int typeu)-
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idQoS
- true表示需QoS机制支持,不则不需要fingerPrint
- QoS机制中要用到的指纹码(即消息包唯一id),可设为null,生成方法见 Protocal.genFingerPrint()
typeu
- 应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型。注意:此值为-1时表示未定义。
- MobileIMSDK_X框架中,本字段为保留字段,不参与框架的核心算法,专留作应用层自行定义和使用。sendCommonData(Protocal)
,
-ProtocalFactory.createCommonData(String, String, String, boolean, String, int)
public int sendCommonData(net.openmob.mobileimsdk.server.protocal.Protocal p)-
p
- 要发送的内容(MobileIMSDK框架的“协议”DTO对象组织形式)send(byte[], int)
send(byte[], int)
public int sendCommonData(java.lang.String dataContentWidthStr, + java.lang.String to_user_id)+
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idsendCommonData(String, String, int)
public int sendCommonData(java.lang.String dataContentWidthStr, + java.lang.String to_user_id, + int typeu)+
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idtypeu
- 应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型。注意:此值为-1时表示未定义。
+ MobileIMSDK_X框架中,本字段为保留字段,不参与框架的核心算法,专留作应用层自行定义和使用。sendCommonData(String, String, String, int)
public int sendCommonData(java.lang.String dataContentWidthStr, + java.lang.String to_user_id, + java.lang.String fingerPrint, + int typeu)+
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idfingerPrint
- QoS机制中要用到的指纹码(即消息包唯一id),可设为null,生成方法见 Protocal.genFingerPrint()
typeu
- 应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型。注意:此值为-1时表示未定义。
+ MobileIMSDK_X框架中,本字段为保留字段,不参与框架的核心算法,专留作应用层自行定义和使用。sendCommonData(String, String, boolean, String, int)
public int sendCommonData(java.lang.String dataContentWidthStr, + java.lang.String to_user_id, + boolean QoS, + java.lang.String fingerPrint, + int typeu)+
dataContentWidthStr
- 要发送的数据内容(字符串方式组织)to_user_id
- 要发送到的目标用户idQoS
- true表示需QoS机制支持,不则不需要fingerPrint
- QoS机制中要用到的指纹码(即消息包唯一id),可设为null,生成方法见 Protocal.genFingerPrint()
typeu
- 应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型。注意:此值为-1时表示未定义。
+ MobileIMSDK_X框架中,本字段为保留字段,不参与框架的核心算法,专留作应用层自行定义和使用。sendCommonData(Protocal)
,
+ProtocalFactory.createCommonData(String, String, String, boolean, String, int)
public int sendCommonData(net.openmob.mobileimsdk.server.protocal.Protocal p)+
p
- 要发送的内容(MobileIMSDK框架的“协议”DTO对象组织形式)send(byte[], int)
public class LocalUDPSocketProvider
-extends java.lang.Object
+
+
+
+
+
+
+public class LocalUDPSocketProvider
+extends java.lang.Object
getLocalUDPSocket()
+ Socket有效性判断以及异常处理等,以便确保调用者通过方法 getLocalUDPSocket()
拿到的Socket对象是健康有效的。
- 依据作者对MobileIMSDK API的设计理念,本类将以单例的形式提供给调用者使用。
限定符和类型 | -方法和说明 | -
---|---|
void |
-closeLocalUDPSocket() |
-
void |
-closeLocalUDPSocket(boolean silent)
-强制关闭本地UDP Socket侦听。
- |
-
static LocalUDPSocketProvider |
-getInstance() |
-
java.net.DatagramSocket |
-getLocalUDPSocket()
-获得本地UDPSocket的实例引用.
- |
-
java.net.DatagramSocket |
-resetLocalUDPSocket()
-重置并新建一个全新的Socket对象。
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static LocalUDPSocketProvider getInstance()-
public java.net.DatagramSocket resetLocalUDPSocket()-
DatagramSocket
,
-ConfigEntity.localUDPPort
public java.net.DatagramSocket getLocalUDPSocket()+ 依据作者对MobileIMSDK API的设计理念,本类将以单例的形式提供给调用者使用。
限定符和类型 | +方法和说明 | +
---|---|
void |
+closeLocalUDPSocket() |
+
void |
+closeLocalUDPSocket(boolean silent)
+强制关闭本地UDP Socket侦听。
+ |
+
static LocalUDPSocketProvider |
+getInstance() |
+
java.net.DatagramSocket |
+getLocalUDPSocket()
+获得本地UDPSocket的实例引用.
+ |
+
java.net.DatagramSocket |
+resetLocalUDPSocket()
+重置并新建一个全新的Socket对象。
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static LocalUDPSocketProvider getInstance()+
public java.net.DatagramSocket resetLocalUDPSocket()+
DatagramSocket
,
+ConfigEntity.localUDPPort
public java.net.DatagramSocket getLocalUDPSocket()
本方法内封装了Socket有效性判断以及异常处理等,以便确保调用者通过本方法 - 拿到的Socket对象是健康有效的。
isLocalUDPSocketReady()
,
-resetLocalUDPSocket()
public void closeLocalUDPSocket()-
LocalUDPSocketProvider#closeLocalUDPSocket(boolean),默认silent参数=ture
public void closeLocalUDPSocket(boolean silent)+ 拿到的Socket对象是健康有效的。
isLocalUDPSocketReady()
,
+resetLocalUDPSocket()
public void closeLocalUDPSocket()+
LocalUDPSocketProvider#closeLocalUDPSocket(boolean),默认silent参数=ture
public void closeLocalUDPSocket(boolean silent)
getLocalUDPSocket()
将会返回一个全新的Socket对象引用。
+ getLocalUDPSocket()
将会返回一个全新的Socket对象引用。
本方法通常在两个场景下被调用:
1) 真正需要关闭Socket时(如所在的APP通出时);
- 2) 当调用者检测到网络发生变动后希望重置以便获得健康的Socket引用对象时。
silent
- true表示打印log,否则静默执行无需打印logDatagramSocket.close()
silent
- true表示打印log,否则静默执行无需打印logDatagramSocket.close()
public class QoS4ReciveDaemon
-extends java.lang.Object
+
+
+
+
+
+
+public class QoS4ReciveDaemon
+extends java.lang.Object
原理是:当收到需QoS机制支持消息包时,会把它的唯一特征码(即指纹id) @@ -121,401 +134,445 @@
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
限定符和类型 | -字段和说明 | -
---|---|
static int |
-CHECH_INTERVAL
-检查线程执行间隔(单位:毫秒),默认5分钟
- |
-
static int |
-MESSAGES_VALID_TIME
-一个消息放到在列表中(用于判定重复时使用)的生存时长(单位:毫秒),默认10分钟
- |
-
构造器和说明 | -
---|
QoS4ReciveDaemon(Context context)
-构造方法。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
void |
-addRecieved(net.openmob.mobileimsdk.server.protocal.Protocal p)
-向列表中加入一个包的特征指纹。
- |
-
void |
-addRecieved(java.lang.String fingerPrintOfProtocal)
-向列表中加入一个包的特征指纹。
- |
-
void |
-clear()
-清空缓存队列。
- |
-
static QoS4ReciveDaemon |
-getInstance(Context context) |
-
boolean |
-hasRecieved(java.lang.String fingerPrintOfProtocal)
-指定指纹码的Protocal是否已经收到过.
- |
-
boolean |
-isInit()
-本类对象是否已补初始化过。
- |
-
boolean |
-isRunning()
-线程是否正在运行中。
- |
-
int |
-size()
-当前“已收到消息”队列列表的大小.
- |
-
void |
-startup(boolean immediately)
-启动线程。
- |
-
void |
-stop()
-无条件中断本线程的运行。
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static final int CHECH_INTERVAL-
public static final int MESSAGES_VALID_TIME-
public QoS4ReciveDaemon(Context context)-
context
- init()
public static QoS4ReciveDaemon getInstance(Context context)-
public void startup(boolean immediately)+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
限定符和类型 | +字段和说明 | +
---|---|
static int |
+CHECH_INTERVAL
+检查线程执行间隔(单位:毫秒),默认5分钟
+ |
+
static int |
+MESSAGES_VALID_TIME
+一个消息放到在列表中(用于判定重复时使用)的生存时长(单位:毫秒),默认10分钟
+ |
+
构造器和说明 | +
---|
QoS4ReciveDaemon(android.content.Context context)
+构造方法。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
void |
+addRecieved(net.openmob.mobileimsdk.server.protocal.Protocal p)
+向列表中加入一个包的特征指纹。
+ |
+
void |
+addRecieved(java.lang.String fingerPrintOfProtocal)
+向列表中加入一个包的特征指纹。
+ |
+
void |
+clear()
+清空缓存队列。
+ |
+
static QoS4ReciveDaemon |
+getInstance(android.content.Context context) |
+
boolean |
+hasRecieved(java.lang.String fingerPrintOfProtocal)
+指定指纹码的Protocal是否已经收到过.
+ |
+
boolean |
+isInit()
+本类对象是否已补初始化过。
+ |
+
boolean |
+isRunning()
+线程是否正在运行中。
+ |
+
int |
+size()
+当前“已收到消息”队列列表的大小.
+ |
+
void |
+startup(boolean immediately)
+启动线程。
+ |
+
void |
+stop()
+无条件中断本线程的运行。
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static final int CHECH_INTERVAL+
public static final int MESSAGES_VALID_TIME+
public QoS4ReciveDaemon(android.content.Context context)+
context
- init()
public static QoS4ReciveDaemon getInstance(android.content.Context context)+
public void startup(boolean immediately)
- 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
+ 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
以便确保线程被启动前是真正处于停止状态,这也意味着可无害调用本方法。
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
immediately
- true表示立即执行线程作业,否则直到 CHECH_INTERVAL
- 执行间隔的到来才进行首次作业的执行public void stop()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
immediately
- true表示立即执行线程作业,否则直到 CHECH_INTERVAL
+ 执行间隔的到来才进行首次作业的执行public void stop()
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public boolean isRunning()-
public boolean isInit()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public boolean isRunning()+
public boolean isInit()
init
。public void addRecieved(net.openmob.mobileimsdk.server.protocal.Protocal p)+ 无论如何时请务必确保本对象的业务方法在执行前已经调用过
init
。public void addRecieved(net.openmob.mobileimsdk.server.protocal.Protocal p)
- 本方法的调用,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
p
- addRecieved(String)
public void addRecieved(java.lang.String fingerPrintOfProtocal)+ 本方法的调用,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。 +
p
- addRecieved(String)
public void addRecieved(java.lang.String fingerPrintOfProtocal)
- 本方法的调用,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
fingerPrintOfProtocal
- 消息包的特纹特征码(理论上是唯一的)putImpl(String)
public boolean hasRecieved(java.lang.String fingerPrintOfProtocal)+ 本方法的调用,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。 +
fingerPrintOfProtocal
- 消息包的特纹特征码(理论上是唯一的)putImpl(String)
public boolean hasRecieved(java.lang.String fingerPrintOfProtocal)
- 此方法用于QoS机制中在防止因网络丢包导致对方未收到应答时而再次发送消息从而导致消息重复时的判断依赖.
fingerPrintOfProtocal
- 消息包的特纹特征码(理论上是唯一的)public void clear()+ 此方法用于QoS机制中在防止因网络丢包导致对方未收到应答时而再次发送消息从而导致消息重复时的判断依赖. +
fingerPrintOfProtocal
- 消息包的特纹特征码(理论上是唯一的)public void clear()
调用此方法可以防止在APP不退出的情况下退出登陆MobileIMSDK时没有清除队列缓存, - 导致此时换用另一账号时发生数据交叉。
public int size()-
ArrayList.size()
public int size()+
ArrayList.size()
public class QoS4SendDaemon
-extends java.lang.Object
+
+
+
+
+
+
+public class QoS4SendDaemon
+extends java.lang.Object
限定符和类型 | -字段和说明 | -
---|---|
static int |
-CHECH_INTERVAL
-QoS质量保证线程心跳间隔(单位:毫秒),默认5000ms.
- |
-
static int |
-MESSAGES_JUST$NOW_TIME
-“刚刚”发出的消息阀值定义(单位:毫秒),默认3000毫秒。
- |
-
static int |
-QOS_TRY_COUNT
-一个包允许的最大重发次数,默认2次。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
void |
-clear()
-清空缓存队列。
- |
-
static QoS4SendDaemon |
-getInstance(Context context) |
-
boolean |
-isInit()
-本类对象是否已补初始化过。
- |
-
boolean |
-isRunning()
-线程是否正在运行中。
- |
-
protected void |
-notifyMessageLost(java.util.ArrayList<net.openmob.mobileimsdk.server.protocal.Protocal> lostMessages)
-将未送达信息反馈给消息监听者。
- |
-
void |
-put(net.openmob.mobileimsdk.server.protocal.Protocal p)
-推入一个消息包的指纹特征码.
- |
-
void |
-remove(java.lang.String fingerPrint)
-移除一个消息包.
- |
-
int |
-size()
-队列大小.
- |
-
void |
-startup(boolean immediately)
-启动线程。
- |
-
void |
-stop()
-无条件中断本线程的运行。
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
限定符和类型 | +字段和说明 | +
---|---|
static int |
+CHECH_INTERVAL
+QoS质量保证线程心跳间隔(单位:毫秒),默认5000ms.
+ |
+
static int |
+MESSAGES_JUST$NOW_TIME
+“刚刚”发出的消息阀值定义(单位:毫秒),默认3000毫秒。
+ |
+
static int |
+QOS_TRY_COUNT
+一个包允许的最大重发次数,默认2次。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
void |
+clear()
+清空缓存队列。
+ |
+
static QoS4SendDaemon |
+getInstance(android.content.Context context) |
+
boolean |
+isInit()
+本类对象是否已补初始化过。
+ |
+
boolean |
+isRunning()
+线程是否正在运行中。
+ |
+
protected void |
+notifyMessageLost(java.util.ArrayList<net.openmob.mobileimsdk.server.protocal.Protocal> lostMessages)
+将未送达信息反馈给消息监听者。
+ |
+
void |
+put(net.openmob.mobileimsdk.server.protocal.Protocal p)
+推入一个消息包的指纹特征码.
+ |
+
void |
+remove(java.lang.String fingerPrint)
+移除一个消息包.
+ |
+
int |
+size()
+队列大小.
+ |
+
void |
+startup(boolean immediately)
+启动线程。
+ |
+
void |
+stop()
+无条件中断本线程的运行。
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static final int CHECH_INTERVAL
间隔越短则为用户重发越即时,但将使得重复发送的可能性增大(因为可能在应答 包尚在途中时就判定丢包了的错误情况),当然,即使真存在重复发送的可能也是无害的 ,因为MobileIMSDK的QoS机制本身就有防重能力。请根据您的应用所处的网络延迟情况进行 - 权衡,本参数为非关键参数,如无特殊情况则建议无需调整本参数。
public static final int MESSAGES_JUST$NOW_TIME+ 权衡,本参数为非关键参数,如无特殊情况则建议无需调整本参数。
public static final int MESSAGES_JUST$NOW_TIME
@@ -292,227 +310,262 @@
本参数将决定真正因为UDP丢包而重传的即时性问题,即当MobileIMSDK的UDP丢包时,QoS首次重传的
- 响应时间为> MESSAGES_JUST$NOW_TIME
(即3000毫秒) 而 <= CHECH_INTERVAL
(即5000毫秒)。
public static final int QOS_TRY_COUNT+ 响应时间为>
MESSAGES_JUST$NOW_TIME
(即3000毫秒) 而 <= CHECH_INTERVAL
(即5000毫秒)。public static final int QOS_TRY_COUNT
次数越多,则整个UDP的可靠性越好,但在网络确实很烂的情况下可能会导致重传的泛滥而失去 “即时”的意义。请根据网络状况和应用体验来权衡设定,本参数为0表示不重传,建议使用1到5 - 之间的数字。
public static QoS4SendDaemon getInstance(Context context)-
protected void notifyMessageLost(java.util.ArrayList<net.openmob.mobileimsdk.server.protocal.Protocal> lostMessages)-
lostMessages
- 已被判定为“消息未送达”的消息列表ClientCoreSDK#getInstance().getMessageQoSEvent()}
public void startup(boolean immediately)+ 之间的数字。
public static QoS4SendDaemon getInstance(android.content.Context context)+
protected void notifyMessageLost(java.util.ArrayList<net.openmob.mobileimsdk.server.protocal.Protocal> lostMessages)+
lostMessages
- 已被判定为“消息未送达”的消息列表ClientCoreSDK#getInstance().getMessageQoSEvent()}
public void startup(boolean immediately)
- 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
+ 无论本方法调用前线程是否已经在运行中,都会尝试首先调用 stop()
方法,
以便确保线程被启动前是真正处于停止状态,这也意味着可无害调用本方法。
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
immediately
- true表示立即执行线程作业,否则直到 CHECH_INTERVAL
- 执行间隔的到来才进行首次作业的执行public void stop()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。 +
immediately
- true表示立即执行线程作业,否则直到 CHECH_INTERVAL
+ 执行间隔的到来才进行首次作业的执行public void stop()
- 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。
public boolean isRunning()-
public boolean isInit()+ 本线程的启停,目前属于MobileIMSDK算法的一部分,暂时无需也不建议由应用层自行调用。 +
public boolean isRunning()+
public boolean isInit()
init
。public void put(net.openmob.mobileimsdk.server.protocal.Protocal p)+ 无论如何时请务必确保本对象的业务方法在执行前已经调用过
init
。
+public void put(net.openmob.mobileimsdk.server.protocal.Protocal p)
p
- public void remove(java.lang.String fingerPrint)+
p
- public void remove(java.lang.String fingerPrint)
- 此操作是在步异线程中完成,目的是尽一切可能避免可能存在的阻塞本类中的守望护线程.
fingerPrint
- 消息包的特纹特征码(理论上是唯一的)public void clear()+ 此操作是在步异线程中完成,目的是尽一切可能避免可能存在的阻塞本类中的守望护线程. +
fingerPrint
- 消息包的特纹特征码(理论上是唯一的)public void clear()
调用此方法可以防止在APP不退出的情况下退出登陆MobileIMSDK时没有清除队列缓存, - 导致此时换用另一账号时发生数据交叉。
public int size()-
HashMap.size()
public int size()+
HashMap.size()
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static AutoReLoginDaemon |
-AutoReLoginDaemon.getInstance(Context context) |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static AutoReLoginDaemon |
+AutoReLoginDaemon.getInstance(android.content.Context context) |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static KeepAliveDaemon |
-KeepAliveDaemon.getInstance(Context context) |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static KeepAliveDaemon |
+KeepAliveDaemon.getInstance(android.content.Context context) |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static LocalUDPDataReciever |
-LocalUDPDataReciever.getInstance(Context context) |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static LocalUDPDataReciever |
+LocalUDPDataReciever.getInstance(android.content.Context context) |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static LocalUDPDataSender |
-LocalUDPDataSender.getInstance(Context context) |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static LocalUDPDataSender |
+LocalUDPDataSender.getInstance(android.content.Context context) |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static LocalUDPSocketProvider |
-LocalUDPSocketProvider.getInstance() |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static LocalUDPSocketProvider |
+LocalUDPSocketProvider.getInstance() |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static QoS4ReciveDaemon |
-QoS4ReciveDaemon.getInstance(Context context) |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static QoS4ReciveDaemon |
+QoS4ReciveDaemon.getInstance(android.content.Context context) |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
static QoS4SendDaemon |
-QoS4SendDaemon.getInstance(Context context) |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
static QoS4SendDaemon |
+QoS4SendDaemon.getInstance(android.content.Context context) |
+
类 | -说明 | -
---|---|
AutoReLoginDaemon | -
- 与服务端通信中断后的自动登陆(重连)独立线程。
- |
-
KeepAliveDaemon | -
- 用于保持与服务端通信活性的Keep alive独立线程。
- |
-
LocalUDPDataReciever | -
- 数据接收处理独立线程。
- |
-
LocalUDPDataSender | -
- 数据发送处理实用类。
- |
-
LocalUDPDataSender.SendCommonDataAsync | -
- 通用数据发送异步线程实现抽象类。
- |
-
LocalUDPDataSender.SendLoginDataAsync | -
- 登陆异步线程实现类。
- |
-
LocalUDPSocketProvider | -
- 本地 UDP Socket 实例封装实用类。
- |
-
QoS4ReciveDaemon | -
- QoS机制中提供对已收到包进行有限生命周期存储并提供重复性判断的守护线程。
- |
-
QoS4SendDaemon | -
- QoS机制中提供消息送达质量保证的守护线程。
- |
-
类 | +说明 | +
---|---|
AutoReLoginDaemon | +
+ 与服务端通信中断后的自动登陆(重连)独立线程。
+ |
+
KeepAliveDaemon | +
+ 用于保持与服务端通信活性的Keep alive独立线程。
+ |
+
LocalUDPDataReciever | +
+ 数据接收处理独立线程。
+ |
+
LocalUDPDataSender | +
+ 数据发送处理实用类。
+ |
+
LocalUDPDataSender.SendCommonDataAsync | +
+ 通用数据发送异步线程实现抽象类。
+ |
+
LocalUDPDataSender.SendLoginDataAsync | +
+ 登陆异步线程实现类。
+ |
+
LocalUDPSocketProvider | +
+ 本地 UDP Socket 实例封装实用类。
+ |
+
QoS4ReciveDaemon | +
+ QoS机制中提供对已收到包进行有限生命周期存储并提供重复性判断的守护线程。
+ |
+
QoS4SendDaemon | +
+ QoS机制中提供消息送达质量保证的守护线程。
+ |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
类和说明 | -
---|
AutoReLoginDaemon
- 与服务端通信中断后的自动登陆(重连)独立线程。
- |
-
KeepAliveDaemon
- 用于保持与服务端通信活性的Keep alive独立线程。
- |
-
LocalUDPDataReciever
- 数据接收处理独立线程。
- |
-
LocalUDPDataSender
- 数据发送处理实用类。
- |
-
LocalUDPSocketProvider
- 本地 UDP Socket 实例封装实用类。
- |
-
QoS4ReciveDaemon
- QoS机制中提供对已收到包进行有限生命周期存储并提供重复性判断的守护线程。
- |
-
QoS4SendDaemon
- QoS机制中提供消息送达质量保证的守护线程。
- |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
类和说明 | +
---|
AutoReLoginDaemon
+ 与服务端通信中断后的自动登陆(重连)独立线程。
+ |
+
KeepAliveDaemon
+ 用于保持与服务端通信活性的Keep alive独立线程。
+ |
+
LocalUDPDataReciever
+ 数据接收处理独立线程。
+ |
+
LocalUDPDataSender
+ 数据发送处理实用类。
+ |
+
LocalUDPSocketProvider
+ 本地 UDP Socket 实例封装实用类。
+ |
+
QoS4ReciveDaemon
+ QoS机制中提供对已收到包进行有限生命周期存储并提供重复性判断的守护线程。
+ |
+
QoS4SendDaemon
+ QoS机制中提供消息送达质量保证的守护线程。
+ |
+
public interface ChatBaseEvent
+
+
+
+
+
+
+public interface ChatBaseEvent
#setChatBaseEvent(ChatBaseEvent)
- 方法设置之,可实现回调事件的通知和处理。ClientCoreSDK
限定符和类型 | -方法和说明 | -
---|---|
void |
-onLinkCloseMessage(int dwErrorCode)
-与服务端的通信断开的回调事件通知。
- |
-
void |
-onLoginMessage(int dwErrorCode)
-本地用户的登陆结果回调事件通知。
- |
-
ClientCoreSDK
限定符和类型 | +方法和说明 | +
---|---|
void |
+onLinkCloseMessage(int dwErrorCode)
+与服务端的通信断开的回调事件通知。
+ |
+
void |
+onLoginMessage(int dwErrorCode)
+本地用户的登陆结果回调事件通知。
+ |
+
void onLoginMessage(int dwErrorCode)+
dwErrorCode
- 服务端反馈的登录结果:0 表示登陆成功,否则为服务端自定义
+ 的出错代码(按照约定通常为>=1025的数)void onLinkCloseMessage(int dwErrorCode)
dwErrorCode
- 本回调参数表示表示连接断开的原因,目前错误码没有太多意义,仅作保留字段,目前通常为-1dwErrorCode
- 本回调参数表示表示连接断开的原因,目前错误码没有太多意义,仅作保留字段,目前通常为-1public interface ChatTransDataEvent
+
+
+
+
+
+
+public interface ChatTransDataEvent
#setChatTransDataEvent(ChatTransDataEvent)
- 方法设置之,可实现回调事件的通知和处理。ClientCoreSDK
限定符和类型 | -方法和说明 | -
---|---|
void |
-onErrorResponse(int errorCode,
- java.lang.String errorMsg)
-服务端反馈的出错信息回调事件通知。
- |
-
void |
-onTransBuffer(java.lang.String fingerPrintOfProtocal,
- java.lang.String userid,
- java.lang.String dataContent,
- int typeu)
-收到普通消息的回调事件通知。
- |
-
ClientCoreSDK
限定符和类型 | +方法和说明 | +
---|---|
void |
+onErrorResponse(int errorCode,
+ java.lang.String errorMsg)
+服务端反馈的出错信息回调事件通知。
+ |
+
void |
+onTransBuffer(java.lang.String fingerPrintOfProtocal,
+ java.lang.String userid,
+ java.lang.String dataContent,
+ int typeu)
+收到普通消息的回调事件通知。
+ |
+
void onTransBuffer(java.lang.String fingerPrintOfProtocal, + java.lang.String userid, + java.lang.String dataContent, + int typeu)
fingerPrintOfProtocal
- 当该消息需要QoS支持时本回调参数为该消息的特征指纹码,否则为nulluserid
- 消息的发送者id(MobileIMSDK框架中规定发送者id="0"即表示是由服务端主动发过的,否则
- 表示的是其它客户端发过来的消息)dataContent
- 消息内容的文本表示形式void onErrorResponse(int errorCode, - java.lang.String errorMsg)-
errorCode
- 错误码,定义在常量表ErrorCode.ForS
中errorMsg
- 描述错误内容的文本信息fingerPrintOfProtocal
- 当该消息需要QoS支持时本回调参数为该消息的特征指纹码,否则为nulluserid
- 消息的发送者id(MobileIMSDK框架中规定发送者id="0"即表示是由服务端主动发过的,否则
+ 表示的是其它客户端发过来的消息)dataContent
- 消息内容的文本表示形式typeu
- 意义:应用层专用字段——用于应用层存放聊天、推送等场景下的消息类型。 注意:此值为-1时表
+ 示未定义。MobileIMSDK_X框架中,本字段为保留字段,不参与框架的核心算法,专留用应用 层自行定义和使用。 默认:-1。Protocal
void onErrorResponse(int errorCode, + java.lang.String errorMsg)+
errorCode
- 错误码,定义在常量表ErrorCode.ForS
中errorMsg
- 描述错误内容的文本信息public interface MessageQoSEvent
+
+
+
+
+
+
+public interface MessageQoSEvent
当前MobileIMSDK的QoS机制支持全部的C2C、C2S、S2C共3种消息交互场景下的 @@ -100,155 +113,169 @@
限定符和类型 | -方法和说明 | -
---|---|
void |
-messagesBeReceived(java.lang.String theFingerPrint)
-消息已被对方收到的回调事件通知.
- |
-
void |
-messagesLost(java.util.ArrayList<net.openmob.mobileimsdk.server.protocal.Protocal> lostMessages)
-消息未送达的回调事件通知.
- |
-
限定符和类型 | +方法和说明 | +
---|---|
void |
+messagesBeReceived(java.lang.String theFingerPrint)
+消息已被对方收到的回调事件通知.
+ |
+
void |
+messagesLost(java.util.ArrayList<net.openmob.mobileimsdk.server.protocal.Protocal> lostMessages)
+消息未送达的回调事件通知.
+ |
+
void messagesLost(java.util.ArrayList<net.openmob.mobileimsdk.server.protocal.Protocal> lostMessages)+
lostMessages
- 由MobileIMSDK QoS算法判定出来的未送达消息列表(此列表
中的Protocal对象是原对象的clone(即原对象的深拷贝),请放心使用哦),应用层
- 可通过指纹特征码找到原消息并可以UI上将其标记为”发送失败“以便即时告之用户void messagesBeReceived(java.lang.String theFingerPrint)+ 可通过指纹特征码找到原消息并可以UI上将其标记为”发送失败“以便即时告之用户 +
Protocal
void messagesBeReceived(java.lang.String theFingerPrint)
目前,判定消息被对方收到是有两种可能:
1) 对方确实是在线并且实时收到了;
2) 对方不在线或者服务端转发过程中出错了,由服务端进行离线存储成功后的反馈
(此种情况严格来讲不能算是“已被收到”,但对于应用层来说,离线存储了的消息
- 原则上就是已送达了的消息:因为用户下次登陆时肯定能通过HTTP协议取到)。
theFingerPrint
- 已被收到的消息的指纹特征码(唯一ID),应用层可据此ID
- 来找到原先已发生的消息并可在UI是将其标记为”已送达“或”已读“以便提升用户体验theFingerPrint
- 已被收到的消息的指纹特征码(唯一ID),应用层可据此ID
+ 来找到原先已发生的消息并可在UI是将其标记为”已送达“或”已读“以便提升用户体验Protocal
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android | -
- Android版核心主类。
- |
-
限定符和类型 | -方法和说明 | -||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ChatBaseEvent |
-ClientCoreSDK.getChatBaseEvent()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+接口的使用
+ |
+
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android | +
+ Android版核心主类。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
ChatBaseEvent |
+ClientCoreSDK.getChatBaseEvent()
返回框架基础通信消息的回调事件通知实现对象(可能的通知
- 有:登陆成功事件通知、掉线事件通知)
- |
-
限定符和类型 | -方法和说明 | -
---|---|
void |
-ClientCoreSDK.setChatBaseEvent(ChatBaseEvent chatBaseEvent)
+ 有:登陆成功事件通知、掉线事件通知)
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
void |
+ClientCoreSDK.setChatBaseEvent(ChatBaseEvent chatBaseEvent)
设置框架基础通信消息的回调事件通知实现对象(可能的通知
- 有:登陆成功事件通知、掉线事件通知)
- |
-
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android | -
- Android版核心主类。
- |
-
限定符和类型 | -方法和说明 | -||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ChatTransDataEvent |
-ClientCoreSDK.getChatTransDataEvent()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+接口的使用
+ |
+
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android | +
+ Android版核心主类。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
ChatTransDataEvent |
+ClientCoreSDK.getChatTransDataEvent()
返回通用数据通信消息的回调事件通知实现对象引用(可能的通知
- 有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
void |
-ClientCoreSDK.setChatTransDataEvent(ChatTransDataEvent chatTransDataEvent)
+ 有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
void |
+ClientCoreSDK.setChatTransDataEvent(ChatTransDataEvent chatTransDataEvent)
设置通用数据通信消息的回调事件通知实现对象(可能的通知
- 有:收到聊天数据事件通知、服务端返回的错误信息事件通知等)。
- |
-
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android | -
- Android版核心主类。
- |
-
限定符和类型 | -方法和说明 | -||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MessageQoSEvent |
-ClientCoreSDK.getMessageQoSEvent()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+接口的使用
+ |
+
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android | +
+ Android版核心主类。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
MessageQoSEvent |
+ClientCoreSDK.getMessageQoSEvent()
返回QoS质量保证机制的回调事件通知实现对象(可能的通知
- 有:消息未成功发送的通知、消息已被对方成功收到的通知等)。
- |
-
限定符和类型 | -方法和说明 | -
---|---|
void |
-ClientCoreSDK.setMessageQoSEvent(MessageQoSEvent messageQoSEvent)
+ 有:消息未成功发送的通知、消息已被对方成功收到的通知等)。
+ |
+
限定符和类型 | +方法和说明 | +
---|---|
void |
+ClientCoreSDK.setMessageQoSEvent(MessageQoSEvent messageQoSEvent)
设置QoS质量保证机制的回调事件通知实现对象(可能的通知
- 有:消息未成功发送的通知、消息已被对方成功收到的通知等)。
- |
-
接口 | -说明 | -||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ChatBaseEvent | -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
程序包net.openmob.mobileimsdk.android.event的说明-事件通知和回调接口。
-
-
-
-
-
-
-
-
-
-
-
- |
+||||||||||
MessageQoSEvent | +
+ MobileIMSDK的QoS质量保证机制的回调事件接口.
+ |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android | -
- Android版核心主类。
- |
-
类和说明 | -|||||||||
---|---|---|---|---|---|---|---|---|---|
ChatBaseEvent
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+程序包的使用
+ |
+
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android | +
+ Android版核心主类。
+ |
+
类和说明 | +
---|
ChatBaseEvent
MobileIMSDK的基础通信消息的回调事件接口(如:登陆成功事件
- 通知、掉线事件通知等)。
- |
-
ChatTransDataEvent + 通知、掉线事件通知等)。 + | +
ChatTransDataEvent
MobileIMSDK的通用数据通信消息的回调事件接口(如:收到聊天数据事件
- 通知、服务端返回的错误信息事件通知等)。
- |
-
MessageQoSEvent
- MobileIMSDK的QoS质量保证机制的回调事件接口.
- |
-
类 | -说明 | -
---|---|
ClientCoreSDK | -
- MobileIMSDK框架的核心入口类。
- |
-
类 | +说明 | +
---|---|
ClientCoreSDK | +
+ MobileIMSDK框架的核心入口类。
+ |
+
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android | -
- Android版核心主类。
- |
-
类和说明 | -
---|
ClientCoreSDK
- MobileIMSDK框架的核心入口类。
- |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android | +
+ Android版核心主类。
+ |
+
类和说明 | +
---|
ClientCoreSDK
+ MobileIMSDK框架的核心入口类。
+ |
+
public class UDPUtils
-extends java.lang.Object
-限定符和类型 | -方法和说明 | -
---|---|
static boolean |
-send(java.net.DatagramSocket skt,
- byte[] d,
- int dataLen)
-发送一条UDP消息。
- |
-
static boolean |
-send(java.net.DatagramSocket skt,
- java.net.DatagramPacket p)
-发送一条UDP消息。
- |
-
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static boolean send(java.net.DatagramSocket skt, - byte[] d, - int dataLen)+ + + + + + +
public class UDPUtils
+extends java.lang.Object
+限定符和类型 | +方法和说明 | +
---|---|
static boolean |
+send(java.net.DatagramSocket skt,
+ byte[] d,
+ int dataLen)
+发送一条UDP消息。
+ |
+
static boolean |
+send(java.net.DatagramSocket skt,
+ java.net.DatagramPacket p)
+发送一条UDP消息。
+ |
+
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public static boolean send(java.net.DatagramSocket skt, + byte[] d, + int dataLen)
- 本方法中以对可能发生的异常进行了处理,调用者只会知道有否成功而不会被异常打断。
skt
- DatagramSocket对象引用d
- 要发送的比特数组dataLen
- 比特数组长长矛send(DatagramSocket, DatagramPacket)
public static boolean send(java.net.DatagramSocket skt, - java.net.DatagramPacket p)+ 本方法中以对可能发生的异常进行了处理,调用者只会知道有否成功而不会被异常打断。
skt
- DatagramSocket对象引用d
- 要发送的比特数组dataLen
- 比特数组长长矛send(DatagramSocket, DatagramPacket)
public static boolean send(java.net.DatagramSocket skt, + java.net.DatagramPacket p)
- 本方法中以对可能发生的异常进行了处理,调用者只会知道有否成功而不会被异常打断。
skt
- DatagramSocket对象引用p
- 要发送的UDP数据报skt
- DatagramSocket对象引用p
- 要发送的UDP数据报类 | -说明 | -
---|---|
UDPUtils | -
- 一个本地UDP消息发送工具类。
- |
-
类 | +说明 | +
---|---|
UDPUtils | +
+ 一个本地UDP消息发送工具类。
+ |
+
- - + + + + + + +
+ + diff --git a/docs/api_docs/client/android/overview-summary.html b/docs/api_docs/client/android/overview-summary.html index 902fc1b3..976af0cf 100755 --- a/docs/api_docs/client/android/overview-summary.html +++ b/docs/api_docs/client/android/overview-summary.html @@ -1,159 +1,168 @@ - - - - - - -
程序包 | -说明 | -
---|---|
net.openmob.mobileimsdk.android | -
- Android版核心主类。
- |
-
net.openmob.mobileimsdk.android.conf | -
- 有关配置设置的类。
- |
-
net.openmob.mobileimsdk.android.core | -
- 即时通讯核心算法实现。
- |
-
net.openmob.mobileimsdk.android.event | -
- 事件通知和回调接口。
- |
-
net.openmob.mobileimsdk.android.utils | -
- 一些实用工具类。
- |
-
程序包 | +说明 | +
---|---|
net.openmob.mobileimsdk.android | +
+ Android版核心主类。
+ |
+
net.openmob.mobileimsdk.android.conf | +
+ 有关配置设置的类。
+ |
+
net.openmob.mobileimsdk.android.core | +
+ 即时通讯核心算法实现。
+ |
+
net.openmob.mobileimsdk.android.event | +
+ 事件通知和回调接口。
+ |
+
net.openmob.mobileimsdk.android.utils | +
+ 一些实用工具类。
+ |
+