linux下用线程实现的聊天室 设计申明书

                                              设计  概要文档:需求表

-----------------------------------------------------------
选择用线程实现该聊天室项目
-----------------------------------------------------------

-----------------------------------------------------------
        <命令>
-----------------------------------------------------------
1.普通用户

    hlp 帮助信息显示
    log 登录;
    reg 注册;
    pto 悄悄话;
    cto 群发消息;
    vim 查看在线用户;
    vom 查看所有用户;
    cat 查看聊天历史记录;
    fac 特殊表情;
    esc 退出

2.超级管理员

除上述命令外
    kic 踢人;
    scl 禁言;
    rcl 撤销禁言;

-----------------------------------------------------------
         <客户端部分>
-----------------------------------------------------------


一、登录:log
1.密码:不固定长度,最多20位,最少6位。密码不显示出来用*代替。
2.ID:用数组实现最多20位。
3.输入错误有提示。
    a.用户已登录
    b.用户未注册
    c.输入密码不正确
    d.超规定范围出


二、注册:reg
1.ID:用数组实现,最多20位。存在数据库中。
2.密码:不固定长度,最多20位,最少6位。密码不显示出来用*代替。
3.注册信息存放在数据库中

三、聊天:pto 、cto

1.私聊:输入pto\进入私聊状态,在对话中将对话内容存入该用户名下的
 name.txt 中

2.群发:输入cto\进入群发状态
将会话内容存入 crowd.txt 中

四、查看:
1.查看当前在线用户:
2.用户查看历史聊天记录:

五、特殊表情:
1.输入 "smile:\"   ~(^_^)~
2.输入 "angry:\"   \(>n<)/
3.输入 "tried:\"   ~(*.*)~
4.输入 "happy:\"   \(^O^)/

六、退出:
1.只退出登陆不退出客户端

-----------------------------------------------------------
          <服务器部分>
-----------------------------------------------------------

一、登录:
1.显示有用户登录,显示姓名和ID。例如:state 0:name 127.0.0.1
2.显示出错信息。
    a.用户已登录
    b.用户未注册
    c.输入密码不正确
    d.超规定范围
3.保存错误日志。  


二、注册:
1.ID:用数组实现,最多20位。存在数据库中。
2.密码:不固定长度,最多20位,最少6位。
3.注册信息存放在数据库中
4.显示新注册了一个用户。例如:state 1:name


三、聊天:

1.私聊:
       a.显示聊天状态
       b.显示聊天发起者和接收者。例如 state 2:name to name
2.群发:
       a.显示聊天状态
       b.显示聊天发起者。例如 state 3:this is name call
将会话内容存入 man.txt 中


四、查看:state 4:
1.查看当前在线用户:
2.用户查看历史聊天记录:
3.查看离线用户:

五、退出:
1.只退出登陆不退出客户端:state 5:
        a.显示用户退出。例如:state 5:name exit
  

————————————————————————————————————————————————————————————
         实现方法
————————————————————————————————————————————————————————————


1.建立通信协议    TCP—4
    注意反馈
2.action 动作 置位
    a用户给服务器发动作1。2。3。4。5 (对应相关操作)
 b登录
      客户端用结构体封装协议
   统一c-s间格式
3.在线登录用户链表
    a服务器建立
 b用户登陆时将用户accept id 和用户名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值