Skip to content

Latest commit

 

History

History
75 lines (57 loc) · 1.51 KB

File metadata and controls

75 lines (57 loc) · 1.51 KB

RUN Server.java First, Then, RUN multiple Client.jave to operate with graphic interface.

先 RUN TalkServer.java, 然后 RUN 多个 TalkClient.jave 来操作图形界面。

即时通讯客户端

基本功能

  1. 用户登录

    • 支持输入服务器IP地址和用户名进行登录
    • 默认连接本地服务器(127.0.0.1)
    • 检查用户名是否已被占用
  2. 聊天模式

    • 公共广播:向所有在线用户发送消息
    • 私聊:与特定用户进行一对一聊天
    • 群聊:在创建的群组内与多个用户聊天
  3. 用户管理

    • 显示在线用户列表
    • 显示可用群组列表
    • 点击用户名可快速切换到私聊模式
  4. 群组管理

    • 创建新群组
    • 选择群组成员
    • 加入已有群组
    • 点击群组名可快速切换到群聊模式
  5. 文件传输

    • 支持在私聊中发送文件
    • 接收方可选择接受或拒绝文件
    • 接收方可选择文件保存位置
    • 显示文件传输状态和结果

界面特性

  1. 分区布局

    • 中央聊天区域显示所有消息
    • 右侧分页显示用户、群组和广播列表选项
    • 底部提供消息输入框和功能按钮
  2. 消息格式化

    • 不同类型消息有不同前缀标识(广播、私聊、群聊、系统消息)
    • 清晰显示消息发送者和内容
  3. 实时更新

    • 自动更新在线用户列表
    • 自动更新可用群组列表
    • 实时接收和显示新消息

技术特性

  1. 网络通信

    • 基于Socket的TCP通信
    • 使用数据流进行消息传输
    • 支持文件数据传输
  2. 多线程处理

    • 独立线程接收服务器消息
    • 使用SwingUtilities.invokeLater确保UI线程安全
    • 文件传输使用单独线程避免阻塞主界面
  3. 图形界面

    • 使用Swing库构建图形界面
    • 支持用户交互和消息显示

UPDATE

  1. ver1.1

    • 优化代码结构
    • 优化ui
    • 修复第二个客户端无法登录的bug