基于Socket的即时通信系统—CS模式(未完待续)

前言

课设题目,从一开始的手无足措到最后的胸有成足经历了很多,也学到了许多,但是最后答辩时,课设老师感觉题目太简单,问的也就十分简单,本来还有点成就感,想跟老师好好讲讲,结果却呵呵了 (-_-)!! 在这里分享出来,记录一下自己的心血。

设计要求

  • 系统分为客户端和服务端两部分
  • 客户端能像服务器查看其他用户在线状态,包括用户名、IP地址和端口号等
  • 客户端之间通过服务器实现信息交换
  • 服务器端维护用户的状态信息,对用户查询做出响应,并实现消息转发

成果展示

  1. 服务器启动与用户登陆
    服务器启动与客户端登陆
  2. 用户群发信息与私聊
    群发与私聊
  3. 在线用户列表与下线监听
    在这里插入图片描述

模块功能的实现

主要设计思想
通信,势必要区分不同的用户以及进行消息的传输,这就涉及到了用户如何设计、消息如何进行存储与传输。在本系统的设计中没有用到JDBC连接数据库,而是本着面向对象的原则,设计了用户类和消息类并为其设置了能够唯一表示自己的属性以及其他各有用处的属性,并使用了Serializable序列化对象方便对象的存储与网络传输、instanceof 关键字对对象进行区别以便于对不同的对象进行不同的处理

  1. 用户对象的设计
  2. 消息对象的设计
  3. 用户登陆模块
  4. 对象传输与接收模块
  5. 在线用户列表模块
  6. 用户离线监听模块

最近实在太忙,只能抽空分段写了,反正也没人看23333,所以容我鸽一鸽。2021.7.18

后续内容放在了个人博客,有兴趣的朋友请移步至
https://qingming-lii.gitee.io/


版权声明:本文为qq_45743084原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。