Skip to content

Commit

Permalink
v3.1 发布,新增Netty版服务端!
Browse files Browse the repository at this point in the history
  • Loading branch information
JackJiang2011 committed Dec 14, 2017
1 parent 61e6ad6 commit ba212f7
Show file tree
Hide file tree
Showing 1,176 changed files with 50,690 additions and 2,210 deletions.
5 changes: 3 additions & 2 deletions ABOUT.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
【工程名称】:MobileIMSDK v3, a cross-device Instant Messaging library
【新版动态】: MobileIMSDK最新v3.0版首次发布于2017年06月25日
【工程名称】:MobileIMSDK v3.1, 一个专为移动端开发的原创即时通讯框架,超轻量级、高度提炼,完全基于UDP协议,支持iOS、Android、标准Java平台。
【新版动态】: MobileIMSDK最新v3.1版发布于2017年12月11日
【作者】: Jack Jiang
【QQ】: 413980957
【微信】: hellojackjiang
【Mail】: [email protected] or [email protected]
【Skype】: hellojackjiang
【讨论区】: http://www.52im.net/forum-89-1.html
Expand Down
347 changes: 10 additions & 337 deletions LICENSE

Large diffs are not rendered by default.

27 changes: 18 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@
* [网络编程理论经典《TCP/IP详解》(在线阅读版)](http://www.52im.net/topic-tcpipvol1.html) :triangular_flag_on_post:

> #### ▌ 相关资料
* [有关MobileIMSDK的疑问及解答](http://www.52im.net/thread-60-1-1.html) :point_left:
* [MobileIMSDK版本更新日志](http://www.52im.net/thread-1270-1-1.html)
* [MobileIMSDK常见问题解答](http://www.52im.net/thread-60-1-1.html) :point_left:
* [MobileIMSDK性能测试报告](http://www.52im.net/thread-57-1-1.html)
* [客户端Demo安装和使用帮助(Android)](http://www.52im.net/thread-55-1-1.html)
* [客户端Demo安装和使用帮助(iOS)](http://www.52im.net/thread-54-1-1.html)
* [客户端Demo安装和使用帮助(Java)](http://www.52im.net/thread-56-1-1.html)
* [服务端Demo安装和使用帮助](http://www.52im.net/thread-1272-1-1.html) :new:
* [应用案例RainbowChat体验版](http://www.52im.net/thread-19-1-1.html) :point_left:
* [应用案例RainbowChat体验版截图预览](http://www.52im.net/thread-20-1-1.html)
* [应用案例某Chat的部分非敏感运营数据](http://www.52im.net/thread-21-1-1.html)
Expand All @@ -21,7 +23,8 @@
* [客户端SDK API文档(Android)](http://docs.52im.net/extend/docs/api/mobileimsdk/android/)
* [客户端SDK API文档(iOS)](http://docs.52im.net/extend/docs/api/mobileimsdk/ios/)
* [客户端SDK API文档(Java)](http://docs.52im.net/extend/docs/api/mobileimsdk/java/)
* [服务端SDK API文档](http://docs.52im.net/extend/docs/api/mobileimsdk/server/)
* [服务端SDK API文档(基于Mina框架)](http://docs.52im.net/extend/docs/api/mobileimsdk/server/)
* [服务端SDK API文档(基于Netty框架)](http://docs.52im.net/extend/docs/api/mobileimsdk/server_netty/)

> #### ▌ 资源下载
* [MobileIMSDK最新版打包下载](https://github.com/JackJiang2011/MobileIMSDK/releases/latest) :point_left:
Expand All @@ -30,7 +33,7 @@
> #### ▌ 学习交流
* 讨论学习和资料区:[点此进入](http://www.52im.net/forum-89-1.html)
* 常见问题讨论学习:[点此进入](http://www.52im.net/forum.php?mod=collection&action=view&ctid=2&fromop=all) :point_left:
* 移动端即时通讯交流群:![](https://raw.githubusercontent.com/JackJiang2011/MobileIMSDK/master/preview/more_screenshots/others/qq_group_icon_16-16.png) `215891622` :point_left:
* 移动端即时通讯交流群:![](https://raw.githubusercontent.com/JackJiang2011/MobileIMSDK/master/preview/more_screenshots/others/qq_group_icon_16-16.png) `320837163` :point_left:
* bug/建议发送至:`[email protected]`
* 技术支持/合作/咨询请联系作者QQ:`413980957`

Expand All @@ -41,9 +44,10 @@
* 超轻量级、高度提炼,lib包50KB以内;
* 完全基于UDP协议实现;
* 客户端支持iOS、Android、标准Java平台;
* 服务端提供Mina版和Netty版,方便研究和学习;:point_left:
* 可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。

> MobileIMSDK工程始于2013年10月(2017年06月26日发布了最新版v3.0),起初用作某产品的即时通讯底层实现,完全从零开发。<br>
> MobileIMSDK工程始于2013年10月(2017年12月11日发布了最新版v3.1),起初用作某产品的即时通讯底层实现,完全从零开发。<br>
MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所启发和帮助。

:point_right: 您可能需要:[查看更多关于MobileIMSDK的疑问及解答](http://www.52im.net/thread-60-1-1.html)
Expand All @@ -62,16 +66,19 @@ MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所
* 代码托管: http://git.oschina.net/jackjiang/MobileIMSDK
* 项目资料: [点击查看更多资料](http://www.52im.net/forum-89-1.html)

MobileIMSDK版本更新日志:[点此查看](http://www.52im.net/thread-1270-1-1.html) :point_left:

# 三、设计目标
让开发者专注于应用逻辑的开发,底层<code>复杂的即时通讯算法交由SDK开发人员</code>,从而<code>解偶即时通讯应用开发的复杂性</code>。

# 四、框架组成
<b>整套MobileIMSDK框架由以下4部分组成:</b>
<b>整套MobileIMSDK框架由以下5部分组成:</b>

1. <b>Android客户端SDK:</b>用于Android版即时通讯客户端,支持Android 2\.3及以上,[查看API文档](http://docs.52im.net/extend/docs/api/mobileimsdk/android/)
2. <b>iOS客户端SDK:</b>用于开发iOS版即时通讯客户端,支持iOS 6\.0及以上,[查看API文档](http://docs.52im.net/extend/docs/api/mobileimsdk/ios/)
3. <b>Java客户端SDK:</b>用于开发跨平台的PC端即时通讯客户端,支持Java 1\.5及以上,[查看API文档](http://docs.52im.net/extend/docs/api/mobileimsdk/java/)
4. <b>服务端SDK:</b>用于开发即时通讯服和端,支持Java 1\.5及以上版本,[查看API文档](http://docs.52im.net/extend/docs/api/mobileimsdk/server/)
4. <b>服务端SDK(Mina版):</b>基于Mina框架,用于开发即时通讯服务端,支持Java 1\.6及以上版本,[查看API文档](http://docs.52im.net/extend/docs/api/mobileimsdk/server/)
5. <b>服务端SDK(Netty版):</b>基于Netty框架,用于开发即时通讯服务端,支持Java 1\.6及以上版本,[查看API文档](http://docs.52im.net/extend/docs/api/mobileimsdk/server_netty/) :new:

:point_right: <b>另:</b>MobileIMSDK-Web版为独立工程,详见[轻量级Web端即时通讯框架:MobileIMSDK-Web](http://www.52im.net/thread-959-1-1.html) ,专用于手机或PC端的网页聊天和消息推送等。

Expand All @@ -86,9 +93,10 @@ MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所
* <b>原创算法:</b>核心算法和实现均为原创,保证了持续改进和提升的空间;
* <b>多种模式:</b>预设多种实时灵敏度模式,可根据不同场景控制即时性、流量和客户端电量消耗;
* <b>数据压缩:</b>自有协议实现,未来可自主定制数据压缩,灵活控制客户端的流量、服务端网络吞吐;
* <b>高度封装:</b>高度封装的API接口,保证了调用的简易性,也使得可应用于更多的应用场景。
* <b>高度封装:</b>高度封装的API接口,保证了调用的简易性,也使得可应用于更多的应用场景;
* <b>Mina、Netty:</b>服务端分别提供了基于Mina和Netty共2个版本,根据您的技术喜好灵活选择 :new:

> <b>IMMobileSDK 所支持的全部3种即时通讯消息走向分别是:</b><br>
> <b>MobileIMSDK 所支持的全部3种即时通讯消息走向分别是:</b><br>
(1) Client to Client (C2C):即由某客户端主动发起,接收者是另一客户端;<br>
(2) Client to Server (C2S):即由某客户端主动发起,接收者是服务端;<br>
(3) Server to Client (S2C):即由服务端主动发起,接收者是某客户端。
Expand All @@ -105,7 +113,8 @@ MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所
# 七、演示程序
1. <b>Android客户端 Demo:</b>[点此安装和使用](http://www.52im.net/thread-55-1-1.html)
2. <b>iOS客户端 Demo:</b>[点此安装和使用](http://www.52im.net/thread-54-1-1.html)
3. <b>Java客户端 Demo:</b>[点此安装和使用](http://www.52im.net/thread-56-1-1.html)
3. <b>Java客户端 Demo:</b>[点此安装和使用](http://www.52im.net/thread-56-1-1.html)
3. <b>服务端 Demo:</b>[点此安装和使用](http://www.52im.net/thread-1272-1-1.html) :new:

# 八、应用案例
#### ① 基于MobileIMSDK的产品级聊天APP:
Expand Down
Binary file modified demos/client/MobileIMSDKDemo-Android.apk
Binary file not shown.
Binary file modified demos/client/MobileIMSDKDemo-Java.jar
Binary file not shown.
Binary file not shown.
Binary file not shown.
11 changes: 0 additions & 11 deletions demos/server/MobileIMSDKServerDemoX_deploy_v3.0b20170626/run.bat

This file was deleted.

Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@echo off

@echo 欢迎使用 MobileIMSDK v3.1 服务端-Mina版 (build20171211)
@echo.
@echo IM核心服务器正在运行中...
@echo.

"%JAVA_HOME%/bin/java" -cp lib/gson-2.7.jar;lib/log4j-1.2.17.jar;lib/slf4j-api-1.7.21.jar;lib/slf4j-log4j12-1.7.21.jar;lib/MobileIMSDKServerX_mina.jar;lib/rabbitmq-client.jar;"%JAVA_HOME%/lib/tools.jar;classes/.;lib/mina-core-2.0.14.jar;" net.openmob.mobileimsdk.server.demo.ServerLauncherImpl %1

@echo.
pause
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#############################################################################
# 本文件是Log4j的配置文件,你可以通过修改本文件中相应的键灵活配置Log4j的日志服务.#
# author: Jack Jiang #
# others: Autumn 2006 #
# version: 1.0 #
#############################################################################

#Enable Log4j output debug info
#log4j.debug=true #输出log4j自身的debug信息
#log4j.disable=FATAL #定义所有日志的禁用级别

#--------- Config Appenders ---------#
#Config Appender Dest1,output to file(file mode is:append)
#log4j.appender.Dest1=org.apache.log4j.FileAppender
log4j.appender.Dest1=org.apache.log4j.RollingFileAppender
#Log file location
#log4j.appender.Dest1.file=./myec_struts/myec_logs1/log_file.log
log4j.appender.Dest1.file=./rbserver_logs/log_file.log
#User define output style pattern
log4j.appender.Dest1.layout=org.apache.log4j.PatternLayout
#Output as:MyEC_Log4j->Priority - MSG | Thread (Class^Method:Line) Datetime
#log4j.appender.Dest1.layout.ConversionPattern= -> %p - %m | [%t] (%C^%M:%L) %d%n
log4j.appender.Dest1.layout.ConversionPattern= [%p] - [%d{yyyy/MM/dd HH:mm:ss.SSS}]%m | (%C{1}^%M:%L)%n
log4j.appender.Dest1.ImmediateFlush=true
#true表示将输出的内容附加在原来的文件,而不是覆盖原来的文件。
log4j.appender.Dest1.Append = true
#设置每个日志文件的最大容量(before20150727:1MB)
log4j.appender.Dest1.MaxFileSize=3MB
#设置日志文件的最大数量
log4j.appender.Dest1.MaxBackupIndex=30

#Config Appender Dest2,output to console
log4j.appender.Dest2=org.apache.log4j.ConsoleAppender
#User define style pattern
log4j.appender.Dest2.layout=org.apache.log4j.PatternLayout
#Output style alike Dest1
#log4j.appender.Dest2.layout.ConversionPattern= -> %p - %m | [%t] (%C^%M:%L) %d ~ConsoleAppender%n
#log4j.appender.Dest2.layout.ConversionPattern= [%p] %m | [%d] (%C^%M:%L)~cnsl%n
#log4j.appender.Dest2.layout.ConversionPattern= [%p] %m | (%C^%M:%L)%n
log4j.appender.Dest2.layout.ConversionPattern= [%p] - [%d{HH:mm:ss.SSS}]%m | (%C{1}^%M:%L)%n
log4j.appender.Dest2.ImmediateFlush=true

#Config Appender Dest3,output use DailyRollingFileAppender
log4j.appender.Dest3=org.apache.log4j.DailyRollingFileAppender
#Set log files absolute path
#log4j.appender.Dest3.file=./myec_struts/myec_logs2/log_dailyfile.html
log4j.appender.Dest3.file=${user.home}/logs_html/log_dailyfile.html
#Roll log file at the midnight of every day
log4j.appender.Dest3.DatePattern='.'yyyy-MM-dd
#Output style pattern
log4j.appender.Dest3.layout=org.apache.log4j.HTMLLayout
#Output location info,default is "false"
log4j.appender.Dest3.layout.LocationInfo=true
#Set title of logs,default is "Log4j Log Messages"
#log4j.appender.Dest3.layout.Title=MyEC Daily Logs
log4j.appender.Dest3.ImmediateFlush=true

#--------Appenders config end-------#

#---------- Config Loggers ---------#
#Config root Logger(Log4j default level is Level.DEBUG),
#level is Level.INFO、destination is console and file
log4j.rootLogger=DEBUG,Dest2,Dest1
#log4j.additivity.rootLogger=false
#---------Loggers config end--------#

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File renamed without changes.
File renamed without changes.
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@echo off

@echo 欢迎使用 MobileIMSDK v3.1 服务端-Netty版 (build20171211)
@echo.
@echo IM核心服务器正在运行中...
@echo.

"%JAVA_HOME%/bin/java" -cp lib/gson-2.7.jar;lib/log4j-1.2.17.jar;lib/slf4j-api-1.7.21.jar;lib/slf4j-log4j12-1.7.21.jar;lib/MobileIMSDKServerX_netty.jar;lib/rabbitmq-client.jar;"%JAVA_HOME%/lib/tools.jar;classes/.;lib/netty-all-4.1.17.Final.jar;" net.openmob.mobileimsdk.server.demo.ServerLauncherImpl %1

@echo.
pause
11 changes: 11 additions & 0 deletions demos/【重要】说明.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

【基本说明】:
此目录下为 MobileIMSDK v3 版已编译好的可执行Demo,MobileIMSDK的源码请至目录/src_all下查看。


【关于Mina版服务端】:
server/MobileIMSDKServerDemoX_mina_deploy_v3.1b20171211 目录下为基于Mina2版的MobileIMSDK服务端Demo,配置好JAVA-HOME环境变量后,双击rub.bat即可完成部署和运行。


【关于Netty版服务端】:
server/MobileIMSDKServerDemoX_netty_deploy_v3.1b20171211 目录下为基于Netty4版的MobileIMSDK服务端Demo,配置好JAVA-HOME环境变量后,双击rub.bat即可完成部署和运行。
1 change: 0 additions & 1 deletion demos/说明.txt

This file was deleted.

Binary file modified dist/client/android/MobileIMSDK4a.jar
Binary file not shown.
Binary file modified dist/client/java/MobileIMSDK4j.jar
Binary file not shown.
Binary file added dist/server-Mina版/MobileIMSDKServerX_mina.jar
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Binary file added dist/server-Netty版/MobileIMSDKServerX_netty.jar
Binary file not shown.
File renamed without changes.
File renamed without changes.
Binary file added dist/server-Netty版/netty-all-4.1.17.Final.jar
Binary file not shown.
File renamed without changes.
File renamed without changes.
Binary file removed dist/server/MobileIMSDKServerX.jar
Binary file not shown.
Binary file removed dist/server/MobileIMSDKX_MQ.jar
Binary file not shown.
11 changes: 11 additions & 0 deletions dist/【重要】说明.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

【基本说明】:
此目录下为MobileIMSDK已编译好的lib,开发者可直接在你的工程里引用之,MobileIMSDK的源码,请至目录/src_all下查看。


【server-MINA版】:
此为基于MINA2框架的MobileIMSDK服务端库,久经考验。


【server-Netty版】:
此为基于Netty4框架的MobileIMSDK服务端库,发布于2017年12月11日。
1 change: 0 additions & 1 deletion dist/说明.txt

This file was deleted.

6 changes: 3 additions & 3 deletions docs/api_docs/client/android/allclasses-frame.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (version 1.7.0_51) on Mon Jun 26 20:19:52 CST 2017 -->
<!-- Generated by javadoc (version 1.7.0_51) on Tue Dec 12 19:48:33 CST 2017 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>所有类 (MobileIMSDK 3.0(Android平台) API文档)</title>
<meta name="date" content="2017-06-26">
<title>所有类 (MobileIMSDK 3.1(Android平台) API文档)</title>
<meta name="date" content="2017-12-12">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
Expand Down
6 changes: 3 additions & 3 deletions docs/api_docs/client/android/allclasses-noframe.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (version 1.7.0_51) on Mon Jun 26 20:19:52 CST 2017 -->
<!-- Generated by javadoc (version 1.7.0_51) on Tue Dec 12 19:48:33 CST 2017 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>所有类 (MobileIMSDK 3.0(Android平台) API文档)</title>
<meta name="date" content="2017-06-26">
<title>所有类 (MobileIMSDK 3.1(Android平台) API文档)</title>
<meta name="date" content="2017-12-12">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
Expand Down
12 changes: 6 additions & 6 deletions docs/api_docs/client/android/constant-values.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (version 1.7.0_51) on Mon Jun 26 20:19:52 CST 2017 -->
<!-- Generated by javadoc (version 1.7.0_51) on Tue Dec 12 19:48:33 CST 2017 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>常量字段值 (MobileIMSDK 3.0(Android平台) API文档)</title>
<meta name="date" content="2017-06-26">
<title>常量字段值 (MobileIMSDK 3.1(Android平台) API文档)</title>
<meta name="date" content="2017-12-12">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="\u5E38\u91CF\u5B57\u6BB5\u503C (MobileIMSDK 3.0(Android\u5E73\u53F0) API\u6587\u6863)";
parent.document.title="\u5E38\u91CF\u5B57\u6BB5\u503C (MobileIMSDK 3.1(Android\u5E73\u53F0) API\u6587\u6863)";
}
//-->
</script>
Expand All @@ -34,7 +34,7 @@
<li><a href="index-files/index-1.html">索引</a></li>
<li><a href="help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.0(build 2017/06/26)</b></em></div>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.1(build 2017/12/11)</b></em></div>
</div>
<div class="subNav">
<ul class="navList">
Expand Down Expand Up @@ -153,7 +153,7 @@ <h2 title="net.openmob">net.openmob.*</h2>
<li><a href="index-files/index-1.html">索引</a></li>
<li><a href="help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.0(build 2017/06/26)</b></em></div>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.1(build 2017/12/11)</b></em></div>
</div>
<div class="subNav">
<ul class="navList">
Expand Down
12 changes: 6 additions & 6 deletions docs/api_docs/client/android/deprecated-list.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc (version 1.7.0_51) on Mon Jun 26 20:19:52 CST 2017 -->
<!-- Generated by javadoc (version 1.7.0_51) on Tue Dec 12 19:48:33 CST 2017 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>已过时的列表 (MobileIMSDK 3.0(Android平台) API文档)</title>
<meta name="date" content="2017-06-26">
<title>已过时的列表 (MobileIMSDK 3.1(Android平台) API文档)</title>
<meta name="date" content="2017-12-12">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="\u5DF2\u8FC7\u65F6\u7684\u5217\u8868 (MobileIMSDK 3.0(Android\u5E73\u53F0) API\u6587\u6863)";
parent.document.title="\u5DF2\u8FC7\u65F6\u7684\u5217\u8868 (MobileIMSDK 3.1(Android\u5E73\u53F0) API\u6587\u6863)";
}
//-->
</script>
Expand All @@ -34,7 +34,7 @@
<li><a href="index-files/index-1.html">索引</a></li>
<li><a href="help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.0(build 2017/06/26)</b></em></div>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.1(build 2017/12/11)</b></em></div>
</div>
<div class="subNav">
<ul class="navList">
Expand Down Expand Up @@ -84,7 +84,7 @@ <h2 title="目录">目录</h2>
<li><a href="index-files/index-1.html">索引</a></li>
<li><a href="help-doc.html">帮助</a></li>
</ul>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.0(build 2017/06/26)</b></em></div>
<div class="aboutLanguage"><em><b>MobileIMSDK4a 3.1(build 2017/12/11)</b></em></div>
</div>
<div class="subNav">
<ul class="navList">
Expand Down
Loading

0 comments on commit ba212f7

Please sign in to comment.