更新 README.md

This commit is contained in:
远方夕阳 2017-08-21 10:59:41 +08:00
parent 6f491fc39b
commit b6c899adc1

View File

@ -1,50 +1,50 @@
### 说明:
此开源版本为基础功能版本只有消息推送的基础功能netty版本,和mina版本结构和功能完全一致大家可以选择自己喜欢的或者合适的版本学习或者使用!
###侣信专业版2.2.3版本发布
### 侣信专业版2.2.3版本发布
###[http://farsunset.com](http://farsunset.com)
####前言
### 前言
现在市面上有很多 xmpp协议的即时通讯方案openfire androidpn等等。它们都是使用了apache mina开发但是这些东西基本都需要二次改造开发。而且改动还很大我也看过这些东西的源码发现代码结构不太理想耦合的情况太多实在不好扩展。所谓XMPP 协议。只不过是别人使用mina 自定义了一个消息编码解码协议。通俗的讲就是xml形式消息的编码与解码我们完全没有必要在国外这套不成熟的openfire 与xmpp 上耗费过多的精力去研究我们完全可以通过apache mina 自定义自己的通讯协议,并可以为它使用自己的名字。我们不要盲目崇拜国外的有些东西,自己掌握原理,才是最重要的,各位切记~
这套IM系统为我个人自主开发 使用了 apache mina ,主要功能为 服务端和客户端,客户端 到客户端的即时通信,可以支持包括文字 图片,语音等任何消息形式 服务端使用的 struts2+spring3和 apache mina android端 也使用的apache mina。这套IM系统结构还是非常清晰合理的非常容易扩展和改造下面是android版本 的 demo的目的是只是一个演示 ,可以参照它的代码,使用这套系统开发自己的东西,核心价值是一套高灵活性,相对标准化的即时通讯解决方案,即时聊天只是它的一种运用途径!
#服务端集群配置方案
###服务端修改
### 服务端集群配置方案
## 服务端修改
1.多台服务器集群配置首先需要重写SessionManager接口(参考com.farsunset.ichat.cim.session.ClusterSessionManager.java)用户登录时将账号和服务器IP 存入数据库中,这样就可以统计各台服务器接受的连接数量。
2.客户端连接服务器时,服务端为客户端动态分配 服务器IP每次分配 较为空闲的服务器IP
3.服务端接受消息后 通过接收者账号查询出对应的Iosession和 登录的 服务器IP然后将消息信息传往目标服务器处理发送
###客户端端修改
### 客户端端修改
1.客户端登录时将不在是固定的服务器IP 而是先通过http接口获取到当前空闲的服务器IP然后登录
###成功案例
###http://blog.csdn.net/xx753277/article/details/17512255
###http://blog.csdn.net/xx753277/article/details/45535981
### 成功案例
### http://blog.csdn.net/xx753277/article/details/17512255
### http://blog.csdn.net/xx753277/article/details/45535981
###客户端接收消息
### 客户端接收消息
![image](http://staticres.oss-cn-hangzhou.aliyuncs.com/cim-android_client.png)
###服务端消息 web入口
###http://192.168.1.11:8080/ichat-server
### 服务端消息 web入口
### http://192.168.1.11:8080/ichat-server
![image](http://staticres.oss-cn-hangzhou.aliyuncs.com/cim-server.png)
###常用功能接口
### 常用功能接口
所有开放外部接口都集中在
com.farsunset.cim.client.android.CIMPushManager
```java
1.1连接服务器
** 1.1连接服务器
/**
* 初始化,连接服务端,在程序启动页或者 在Application里调用
* @param context