Skip to content

danvan/chat-box

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2 用户状态维护
   1 用户登入
   2 用户登出
   3 用户会话超时登出
3 用户列表维护
   1 用户的联系人列表保存
   2 用户的联系人列表展示
   3 用户的联系人列表修改(增,删)
4 用户消息分发
   1 轮询过期时间
   2 分发到单个人
   3 分发到多人
   5 离线发送(服务端缓存记录)
5 用户消息维护
   1 消息记录保存(本地)


轮询
	数据 -- 消息队列
					[{
					   to:0表示全部(聊天室)
					   from:来自的ID
					   name:发送者昵称
					   info:消息内容
					   type:消息类型(msg消息,join上线,leave离线)
					   time:发送时间
					}]
	       -- 会话列队
	                [{
	         			 id:在线的ID
	         			 name:昵称
	        			 time:时间戳
	                }]
	规则 --30s 无消息 立即返回空
	       -- 返回消息时,更新会话时间戳
	       -- 如果到达的ID不在线(不在会话列表),或发送不成功,保存到消息列表
	       -- 如果,会话时间戳超过60s,移除该会话,发送该用户离线的信息
获取联系人列表
      从数据库中读取联系人
      根据会话列队(判断是否在线),附上状态
登录
	  在会话列队添加ID和时间戳
	  发出上线的信息
	  获取联系人列表
	  获取未读信息(数据库中删除未读信息)
登出
      在会话列队里删除ID和时间戳
      发出离线的信息
发送信息
      往列队里添加消息

频道---
	若是发起会话,可以使用频道的概念,你所发的信息在频道内广播
-------------------------------
连接器
  显示当前链接状态,并可以手动重新链接。

关闭登出
  关闭浏览器断开链接,发送离线消息

本地保存信息
  本地保存聊天记录,可以通过联系人查看

多人会话的支持
-------------------------------
测试覆盖
  单元测试
-------------------------------
新需求
---------------------
1.添加与陌生人聊天
2.通过其他方式登录(facebook,twitter,开心,人人,weibo)

About

InstantMessaging

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors