Skip to content

Commit

Permalink
v3.3.1版正式发布!
Browse files Browse the repository at this point in the history
  • Loading branch information
JackJiang2011 committed Sep 27, 2018
1 parent cc395bc commit 6775f04
Show file tree
Hide file tree
Showing 82 changed files with 159 additions and 58 deletions.
4 changes: 2 additions & 2 deletions ABOUT.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
【工程名称】:MobileIMSDK v3.3, 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于UDP协议,支持iOS、Android、标准Java平台。
【新版动态】: MobileIMSDK最新v3.3版发布于2018年06月08日
【工程名称】:MobileIMSDK v3.3.1, 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于UDP协议,支持iOS、Android、标准Java平台。
【新版动态】: MobileIMSDK最新v3.3.1版发布于2018年09月27日
【作者】: Jack Jiang
【QQ】: 413980957
【微信】: hellojackjiang
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
* 可与姊妹工程 [MobileIMSDK-Web](http://www.52im.net/thread-959-1-1.html) 无缝互通实现网页端聊天或推送等;:point_left:
* 可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。

> MobileIMSDK工程始于2013年10月(2018年06月08日发布了最新版v3.3[版本更新日志点此查看](http://www.52im.net/thread-1270-1-1.html) ),起初用作某产品的即时通讯底层实现,完全从零开发。<br>
> MobileIMSDK工程始于2013年10月(2018年09月27日发布了最新版v3.3.1[版本更新日志点此查看](http://www.52im.net/thread-1270-1-1.html) ),起初用作某产品的即时通讯底层实现,完全从零开发。<br>
MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所启发和帮助。

:point_right: 您可能需要:[查看更多关于MobileIMSDK的疑问及解答](http://www.52im.net/thread-60-1-1.html)
Expand Down
Binary file modified demos/client/MobileIMSDKDemo-Java.jar
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@echo off

@echo 欢迎使用 MobileIMSDK v3.2 服务端-Mina版 (build20180103)
@echo 欢迎使用 MobileIMSDK v3.3.1 服务端-Mina版 (build20180927)
@echo.
@echo IM核心服务器正在运行中...
@echo.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@echo off

@echo 欢迎使用 MobileIMSDK v3.2 服务端-Netty版 (build20180103)
@echo 欢迎使用 MobileIMSDK v3.3.1 服务端-Netty版 (build20180927)
@echo.
@echo IM核心服务器正在运行中...
@echo.
Expand Down
Binary file modified dist/client/android/MobileIMSDK4a.jar
100755 → 100644
Binary file not shown.
Binary file modified dist/client/java/MobileIMSDK4j.jar
Binary file not shown.
13 changes: 13 additions & 0 deletions release_notes/release_note_v3.3.1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

-------------------------------------------------------------------------------------- v3.3.1������2018-09-27 15:36

MobileIMSDK v3.3.1����˵����
�������Ż���������
1. [Android|Java] �Ż����˳���ע���½ʱ��socket�ر�ʱ��log��Ϣ�����ڿ��������Ѻ�һЩ��
2. [Android] �����ijЩ������ͣ�����3��A9���Ͽ��ܳ��֡�Can't create handler inside thread that has not called Looper.prepare()�������⡣






2 changes: 1 addition & 1 deletion src_all/demos_src/MobileIMSDK4aDemoX/app/build.gradle
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ android {
minSdkVersion 10
targetSdkVersion 26
versionCode 102
versionName "v3.2b180319.as2"
versionName "v3.3.1b180927.as1"
//testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
Expand Down
Binary file modified src_all/demos_src/MobileIMSDK4aDemoX/app/libs/MobileIMSDK4a.jar
100755 → 100644
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ protected void onCreate(Bundle savedInstanceState)
}

/**
* 捕获back键,实现调用 {@link #doExit(Context)}方法.
* 捕获back键.
*/
@Override
public void onBackPressed()
Expand Down
Binary file modified src_all/demos_src/MobileIMSDK4jDemoX/lib/MobileIMSDK4j.jar
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ private void initViews()
mainPanel.addTitledLineSeparator("");
JPanel btnAndVerPanel = new JPanel();
btnAndVerPanel.setLayout(new BoxLayout(btnAndVerPanel, BoxLayout.LINE_AXIS));
JLabel lbVer= new JLabel("v3.2b180103.1");
JLabel lbVer= new JLabel("v3.3.1b180927.1");
lbVer.setForeground(new Color(184,184,184));
btnAndVerPanel.add(lbVer);
btnAndVerPanel.add(Box.createHorizontalGlue());
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
* 由开发者通过服务端消息发送接口发出的消息的消息送达相关事件(由S2C模式(即Server to Client)
* 下QoS机制通知上来的)在此MessageQoSEventListenerS2C子类中实现即可。
*
* @author Jack Jiang, 20170502
* @author Jack Jiang
* @version 1.1
*/
public class MessageQoSEventS2CListnerImpl implements MessageQoSEventListenerS2C
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
/**
* 与客服端的所有数据交互事件在此ServerEventListener子类中实现即可。
*
* @author Jack Jiang, 20170501
* @author Jack Jiang
* @version.1.1
*/
public class ServerEventListenerImpl implements ServerEventListener
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@
import net.openmob.mobileimsdk.server.ServerLauncher;
import net.openmob.mobileimsdk.server.qos.QoS4ReciveDaemonC2S;
import net.openmob.mobileimsdk.server.qos.QoS4SendDaemonS2C;
import net.openmob.mobileimsdk.server.utils.ServerToolKits;
import net.openmob.mobileimsdk.server.utils.ServerToolKits.SenseMode;

/**
* IM服务的启动主类。
* <p>
* <b>友情提示:</b>其实MobileIMSDK的服务端并非只能以main的主类方式独立启
* 动,你完全可以把它放到诸如java的Web工程里作为子模块运行,不会有任何问题!
*
* @author Jack Jiang, 20170502
* @author Jack Jiang
* @version 1.1
*/
public class ServerLauncherImpl extends ServerLauncher
Expand All @@ -47,7 +49,7 @@ public class ServerLauncherImpl extends ServerLauncher
ServerLauncher.debug = true;

// TODO 与客户端协商一致的心跳敏感模式设置
// ServerLauncherImpl.setSenseMode(SenseMode.MODE_10S);
// ServerToolKits.setSenseMode(SenseMode.MODE_10S);

// 关闭与Web端的消息互通桥接器(其实SDK中默认就是false)
ServerLauncher.bridgeEnabled = false;
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
* 由开发者通过服务端消息发送接口发出的消息的消息送达相关事件(由S2C模式(即Server to Client)
* 下QoS机制通知上来的)在此MessageQoSEventListenerS2C子类中实现即可。
*
* @author Jack Jiang, 2017-12-08
* @author Jack Jiang
* @version 1.0
* @since 3.1
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
/**
* 与客服端的所有数据交互事件在此ServerEventListener子类中实现即可。
*
* @author Jack Jiang, 2017-12-08
* @author Jack Jiang
* @version 1.0
* @since 3.1
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,19 @@

import java.io.IOException;

import net.nettime.mobileimsdk.server.netty.MBObserver;
import net.openmob.mobileimsdk.server.ServerLauncher;
import net.openmob.mobileimsdk.server.protocal.Protocal;
import net.openmob.mobileimsdk.server.qos.QoS4ReciveDaemonC2S;
import net.openmob.mobileimsdk.server.qos.QoS4SendDaemonS2C;
import net.openmob.mobileimsdk.server.utils.LocalSendHelper;
import net.openmob.mobileimsdk.server.utils.ServerToolKits;
import net.openmob.mobileimsdk.server.utils.ServerToolKits.SenseMode;

/**
* IM服务的启动主类。
* <p>
* <b>友情提示:</b>其实MobileIMSDK的服务端并非只能以main的主类方式独立启
* 动,你完全可以把它放到诸如java的Web工程里作为子模块运行,不会有任何问题!
*
* @author Jack Jiang, 2017-12-08
* @author Jack Jiang
* @version 1.0
* @since 3.1
*/
Expand All @@ -51,7 +50,7 @@ public class ServerLauncherImpl extends ServerLauncher
ServerLauncher.debug = true;

// TODO 与客户端协商一致的心跳敏感模式设置
// ServerLauncherImpl.setSenseMode(SenseMode.MODE_10S);
// ServerToolKits.setSenseMode(SenseMode.MODE_10S);

// 关闭与Web端的消息互通桥接器(其实SDK中默认就是false)
ServerLauncher.bridgeEnabled = false;
Expand Down
2 changes: 1 addition & 1 deletion src_all/libs_src/MobileIMSDK4aXOpen/app/build.gradle
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ android {
minSdkVersion 10
targetSdkVersion 26
versionCode 1
versionName "3.2"
versionName "3.3.1"
}
buildTypes {
release {
Expand Down
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,12 @@ public void init(Context _context)
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
this.context.registerReceiver(networkConnectionStatusBroadcastReceiver, intentFilter);

AutoReLoginDaemon.getInstance(this.context);
KeepAliveDaemon.getInstance(this.context);
LocalUDPDataReciever.getInstance(this.context);
QoS4ReciveDaemon.getInstance(this.context);
QoS4SendDaemon.getInstance(this.context);

_init = true;
}
Expand All @@ -109,7 +115,7 @@ public void release()
}
catch (Exception e)
{
Log.w(TAG, e.getMessage(), e);
Log.i(TAG, "还未注册android网络事件广播的监听器,本次取消注册已被正常忽略哦.");
}

_init = false;
Expand Down
Empty file.
Empty file.
11 changes: 11 additions & 0 deletions ...MSDK4aXOpen/app/src/main/java/net/openmob/mobileimsdk/android/core/AutoReLoginDaemon.java
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public class AutoReLoginDaemon
private boolean autoReLoginRunning = false;
private boolean _excuting = false;
private Context context = null;
private boolean init = false;

public static AutoReLoginDaemon getInstance(Context context)
{
Expand All @@ -50,6 +51,9 @@ private AutoReLoginDaemon(Context context)

private void init()
{
if(init)
return;

handler = new Handler();
runnable = new Runnable(){
@Override
Expand Down Expand Up @@ -91,6 +95,8 @@ protected void onPostExecute(Integer result)
}
}
};

init = true;
}

public void stop()
Expand All @@ -111,4 +117,9 @@ public boolean isAutoReLoginRunning()
{
return autoReLoginRunning;
}

public boolean isInit()
{
return init;
}
}
15 changes: 13 additions & 2 deletions ...eIMSDK4aXOpen/app/src/main/java/net/openmob/mobileimsdk/android/core/KeepAliveDaemon.java
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,15 @@ public class KeepAliveDaemon
public static int NETWORK_CONNECTION_TIME_OUT = 10 * 1000;
public static int KEEP_ALIVE_INTERVAL = 3000;//1000;

private Handler handler = null;
private Runnable runnable = null;
private boolean keepAliveRunning = false;
private long lastGetKeepAliveResponseFromServerTimstamp = 0;
private Observer networkConnectionLostObserver = null;

private Handler handler = null;
private Runnable runnable = null;
private boolean _excuting = false;
private boolean init = false;

private Context context = null;

public static KeepAliveDaemon getInstance(Context context)
Expand All @@ -56,6 +59,9 @@ private KeepAliveDaemon(Context context)

private void init()
{
if(init)
return;

handler = new Handler();
runnable = new Runnable(){
@Override
Expand Down Expand Up @@ -126,6 +132,11 @@ public boolean isKeepAliveRunning()
{
return keepAliveRunning;
}

public boolean isInit()
{
return init;
}

public void updateGetKeepAliveResponseFromServerTimstamp()
{
Expand Down
29 changes: 23 additions & 6 deletions ...K4aXOpen/app/src/main/java/net/openmob/mobileimsdk/android/core/LocalUDPDataReciever.java
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -38,25 +38,36 @@ public class LocalUDPDataReciever
private final static String TAG = LocalUDPDataReciever.class.getSimpleName();

private static LocalUDPDataReciever instance = null;
private static MessageHandler messageHandler = null;


private MessageHandler messageHandler = null;
private Thread thread = null;
private boolean init = false;

private Context context = null;

public static LocalUDPDataReciever getInstance(Context context)
{
if(instance == null)
{
instance = new LocalUDPDataReciever(context);
messageHandler = new MessageHandler(context);
}
return instance;
}

private LocalUDPDataReciever(Context context)
{
this.context = context;
init();
}

private void init()
{
if(init)
return;

messageHandler = new MessageHandler(context);
init = true;
}

public void stop()
{
Expand All @@ -82,11 +93,12 @@ public void run()
if(ClientCoreSDK.DEBUG)
Log.d(TAG, "【IMCORE】本地UDP端口侦听中,端口="+ConfigEntity.localUDPPort+"...");

p2pListeningImpl();
udpListeningImpl();
}
catch (Exception eee)
{
Log.w(TAG, "【IMCORE】本地UDP监听停止了(socket被关闭了?),"+eee.getMessage(), eee);
Log.w(TAG, "【IMCORE】本地UDP监听停止了(socket被关闭了?):"
+eee.getMessage()+",应该是用户退出登陆或网络断开了。");
}
}
});
Expand All @@ -98,7 +110,12 @@ public void run()
}
}

private void p2pListeningImpl() throws Exception
public boolean isInit()
{
return init;
}

private void udpListeningImpl() throws Exception
{
while (true)
{
Expand Down
Empty file.
Loading

0 comments on commit 6775f04

Please sign in to comment.