1.目标和思路
1.功能和目标: 类似群聊天
[1]有人进入聊天室需要输入姓名,姓名不能重复
[2] 有人进入聊天室时,其他人会收到通知:
*** 进入聊天室
[3] 一个人发消息,其他人会收到:
××× :××××××××
[4] 有人退出聊天室,则其他人会收到通知:
××× 退出聊天室
2.确定技术模型
[1] 使用字典保存用户信息 {姓名:客户端套接字}
[2] 套接字选择: tcp套接字
[3] 转换模型 : 客户端-->>服务端-->>所有客户端
[4] 收发关系处理: 一个客户端发送消息给服务端,服务端再转发给其他客户端
客户端使用多进程来分别处理收发消息
服务端使用多线程来管理客户端
3.具体实现流程
[1] 搭建网络连接
[2] 实现登录
客户端: × 输入姓名
× 将姓名发送给服务端
× 接收服务端反馈
× 如果不允许进入则重新输入,允许则进入聊天室
× 创建新的进程用于收发消息
服务端: * 创建新的线程用于管理客户端的连接
× 接收姓名
× 判断姓名是否存在
× 将结果反馈给客户端
×