Skip to content

Lx6uo/Java_ChatClient-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Java程序设计第三次实验大作业-实时聊天

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages