Skip to content

Commit

Permalink
Update README 修正信息
Browse files Browse the repository at this point in the history
  • Loading branch information
tonybase committed Feb 19, 2015
1 parent cd9d2a2 commit de6af28
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

| Version | Properties Content |
| :-----: | :-----------------:|
| 4byte | data length |
| 2byte | data length |

> version(); // 当前实体类版本,当属性有改变时可以通过版本号控制序列化<br>
> encode(); // 序列化,以byte[]方式写入到DataBuffer中<br>
Expand All @@ -21,28 +21,28 @@
> commandId 命令动作处理,IMHandler.dispatch(IMConnection, IMRequest),对IMRequest处理,IMConnection应答或者kill。<br>
> reserved 数据序列处理,对Actual Content进行加解密类型,以及序列化反序列化方式。<br>
#### 客户端请求,通过readEntity读取对象数据,以游标方式读取,可以连续读取多个Entity
##### 客户端请求,通过readEntity读取对象数据,以游标方式读取,可以连续读取多个Entity
**IMRequest:**<br>
> readEntity(Entity.class);<br>
#### 服务端应答,通过writeEntity写入对象数据,可以连续写入多个Entity
##### 服务端应答,通过writeEntity写入对象数据,可以连续写入多个Entity
**IMResponse:**<br>
> writeEntity(entity);<br>
#### 长连接,发送数据内容,控制客户端连接
##### 长连接,发送数据内容,控制客户端连接
**IMConnection:**<br>
> sendResponse(imResponse);<br>
> kill();<br>
#### 业务分发处理
##### 业务分发处理
**IMHandler:**<br>
> dispatch(IMConnection, IMRequest)<br>
#### 业务处理方式<br>
##### 业务处理流程<br>
> UserHandler <- UserService <- UserDao<br>
* 水平扩展设计思路,登录后返回token,并分配chat-server,再进行loginChannel,建立长连接
* 并加入chat-route,在chat-server中注册服务器到route中,以长连接通信(断开时无限重试连接),做send/notify操作
* 当前服务器hold住当前连接,并注册用户ID到当前node cache中,如果当前node中不存在,在全局nodeAll中获取是否在线信息
* 水平扩展设计思路,登录后返回token,并分配chat-server,再进行loginChannel,通过token建立连接,以chat-server持有客户连接上的IMConnection
* 每个chat-server都有一个node cache,保存当前连接用户的在线信息,如果当前node中不存在,在全局nodeAll中获取是否在线信息
* 并加入chat-route模块,在chat-server启动时注册服到route中,以长连接通信(断开时无限重试连接),做send/notify操作
* 如果发送消息时from == to服务器,直接做业务处理,再做应答客户端。
* 如果发送消息时from != to服务器,通过chat-route做send操作,自动转发到相应服务器,再做业务处理,然后应答相应客户端。

0 comments on commit de6af28

Please sign in to comment.