基于Socket编程的多线程交流通信平台

基于Socket编程的多线程交流平台---项目详情

      • 前言
      • 需求分析
      • 概要设计
      • 详细设计
        • 项目技术
        • 功能实现
      • 项目意义
      • 项目源码
      • 使用手册
      • 测试
        • 测试图示

前言

  • 在一次学习过程中,突然结识到了Socket套接字这一内容,了解到它可以实现客户端与服务器端的通信,而自己之前写代码都是一些干巴巴的语句,并没有过这种可以实现一端与一端可以交流的相关知识内容,所以特别想动手实践,可以看到效果,便有了这个小项目的雏形。

需求分析

  • 多个客户端可以通过连接同一个服务器进行通信
  • 客户端可以与单独的一个客户端通信
  • 客户端可以选择好几个客户端大家一起进行通信

概要设计

  • 客户端方通信前有注册、登录流程
  • 多个成功登录的客户端相互可以进行通信
  • 可以进行单个客户端与单个客户端之间的通信
  • 多个客户端之间可以创建群组选择其中几个客户端进行通信

详细设计

  • 客户端连接服务器成功,弹出界面,用户可以选择登录或者注册
  • 注册成功的用户被存储于数据库中
  • 有新用户登录成功,别的用户好友列表刷新,显示所有在线好友
  • 用户选择在线好友列表中的某个好友进行通信
  • 用户选择【创建群聊】,勾选几个好友进行群聊

项目技术

  • Socket套接字:首先用到Socket编程里的ServerSocket类和Socket类来创建服务器端与客户端,并进行客户端与服务器端的连接
  • 多线程:因为不只要创建一个客户端,要多个客户端之间进行通信
  • 线程池:为了方便管理,节约资源,我选择了多线程连接池
  • I/O输入输出:客户端要向服务器发送消息,也会收到服务器发来的消息;服务器也一样,所以会用到输入输出流相关内容
  • 数据库:将存在的客户端信息存储于数据库中
  • GUI:图形化用户界面使用户使用更方便

功能实现

  • 客户端成功连接服务器,通过界面提示,用户可以选择注册,注册成功后即可登录
  • 有新用户登录成功,服务器进行在线所有人数统计,用户界面显示所有在线客户端用户名
  • 用户可以选择指定用户进行私信
  • 用户可以选择在线用户中多个用户进行群组通信
  • 有客户端退出登录时,服务器再次进行在线人数整理,其他用户可以看到某用户已退出

项目意义

  • 对Java多线程,JDBC编程,Socket套接字等知识进行巩固与练习
  • 对于IDEA里的图形化界面GUI有了了解,扩展了知
  • 也算是开发了一个小小的通信工具

项目源码

项目源码

使用手册

  1. 开启服务端:
    在这里插入图片描述
  2. 开启客户端连接:
    基于Socket编程的多线程交流通信平台_第1张图片
  3. 客户端注册并登陆
    基于Socket编程的多线程交流通信平台_第2张图片
  4. 通信过程:
    基于Socket编程的多线程交流通信平台_第3张图片

测试

测试图示

基于Socket编程的多线程交流通信平台_第4张图片

你可能感兴趣的:(小项目)