近几天完成了软件的基本功能---聊天
- 启动服务器,服务器获取本机IP地址 监听tcp和udp对应的端口号
- 启动客户端 先向本机尝试连接 同时用udp广播查询服务器IP地址 由于广播不会向本机发送 所以当客户端和服务器在同一台主机上时仅用udp无法获取服务器地址。
- 连接成功后状态栏显示connected 此时输入用户名及密码即可登录。
- 点击登录按钮 向服务器发送 用户名+主机名+ip地址+key 服务器收到后判断用户是否已存在 是->判断密码是否正确 否->创建新用户并接受登录 密码不正确返回拒绝登录 服务器返回当前所有用户列表 主要是用户名。
- 客户端成功登录后更新用户列表
聊天过程
- 在用户列表中双击用户即可创建聊天窗口并显示目的用户名
- 源端发送目的用户名和消息到服务器
- 服务器根据用户名转发消息到目的客户端
- 目的客户端收到消息后判断该窗口是否已存在 不存在即新建并更新消息 存在就直接更新消息
- 关闭窗口会向主程序发送信号 从而删除该对话框
退出
- 客户端点击关闭按钮 客户发送EXIT消息
- 服务器收到后将其状态置为offline
下一步任务
- 完善客户退出过程
- 将用户信息写入文件 服务器启动时即读取该文件
- 引入心跳机制
- 群聊
- 传文件