局域网内即时通信软件 ZSCQ -剩余工作

以下为所有剩余工作
writtenby: kejie leung
2005-10-6

//

1. 21:34 2005-10-8 (完成)添加好友:
 (1) 向客户发送"我要加你"消息 ZSCQ_MSG_CC_ADDYOU,同时发送自己的 REG_STRU + ADDR_STRU

 (2) 好友端确认
  1) 确定加为好友,
   返回 ZSCQ_MSG_CC_FAADMIT,同时发送自己的 REG_STRU + ADDR_STRU,
   向数据库添加好友信息(好友资料,现时IP)
   在主窗体的在线好友树中添加新好友结点
   通知添加成功

  2) 拒绝
   返回 ZSCQ_MSG_CC_FAREFAUSE,同时发送自己的ZSCQ号

 (3) 自己返回消息处理
  1) 返回为 ZSCQ_MSG_CC_FAADMIT
   向数据库添加好友信息(好友资料,现时IP)
   在主窗体的在线好友树中添加新好友结点
   通知添加成功

  2) 返回为 ZSCQ_MSG_CC_FAREFAUSE
   通知添加好友失败

2. 删除好友
 (1)确认是否删除
  1) 确认
   从数据库中删除好友的相关数据
   在主窗体的在线好友树中删除新好友结点
  2) 取消
   返回
  3) 发送给好友消息 ZSCQ_MSG_CC_DELETEYOU + 自己的ZSCQ号
  4) 通知删除成功

 (2) 好友端接收到ZSCQ_MSG_CC_DELETEYOU消息(不用确认,直接删除)
  1) 从数据库中删除好友的相关数据
  2) 在主窗体的在线好友树中删除新好友结点


3. 10:31 2005-10-9 (完成)查找好友
 (1) 向服务器发送 ZSCQ_MSG_CS_FINDFRIEND 消息 + 起始查找 ZSCQ号(如2000)
 (2) 服务器接收到 ZSCQ_MSG_CS_FINDFRIEND 消息
  1) 查找数据据,取出由起始号后10个用户信息数据,记于 REG_STRU*10中
  2) 不足就发送查找到的所有组数
  3) 数据包组成 1byte(REG_STRU count) + n* REG_STRU  
  4) 返回客户端 ZSCQ_MSG_SC_FINDFRIEND 消息和数据包

 (3) 客户端接收到 ZSCQ_MSG_SC_FINDFRIEND 消息
  1) 分离返回的数据,先读取返回有多少个REG_STRU于 m_rRegStru
  2) 在查找好友列表中添回半显示
  3) 如果 m_rRegStru < 10 表示再无可查好友,将下一页设为不可用

 (4) 上一页,下一页 同样是发送ZSCQ_MSG_CS_FINDFRIEND 消息,只是查找起始号不同!!
  1) 有一个变量记录当前发送的起如号 m_CurFindNum
  2) 下一页时 m_CurFindNum += 10
  3) 上一页时 m_CurFindNum -= 10
  4) 如果 m_CurFindNum < 0, 则设回初值 m_CurFindNum = 20000, 将上一页设为不可用


4. 上线通知
 (1) 读出所有在线好友IP
 (2) 向每个好友发送一次 ZSCQ_MSG_CC_FRIENDONLINE 消息 + ADDR_STRU 数据包
 (3) 好友收到 ZSCQ_MSG_CC_FRIENDONLINE 消息
  1) 显示好友上线消息框
  2) 加入上线好友IP到数据库
 (4) 在主窗体的在线好友树中添加上线好友结点

5. 下线通知
 (1) 读出所有在线好友IP
 (2) 向每个好友发送一次 ZSCQ_MSG_CC_FRIENDOFFLINE 消息
 (3) 好友收到 ZSCQ_MSG_CC_FRIENDOFFLINE 消息
  1) 显示好友下线消息框

 (4) 在主窗体的在线好友树中删除下线好友结点
 (5) 向服务器发送 ZSCQ_MSG_CS_OFFLINE 消息 + 自己ZSCQ号码
  1) 在在线好友列表中删除该用户

6. 服务器端的消息群发
 (1) 读出所有在线好友IP
 (2) 向每个好友发送一次 ZSCQ_MSG_SC_SERVERNEW 消息 + MSG
 (3) 客户端接收到 ZSCQ_MSG_SC_SERVERNEW 消息
  1) 显示有最新消息
  2) 将消息加入有数据库
  3) 在主窗体属性页第二页上添加该最新消息
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值