[源码和文档分享]基于java语言的C/S模式网络聊天室软件

一 需求分析

  • 采用C/S模式,基于TCP协议编程的方式,使得各个用户通过服务器转发实现聊天的功能

  • 分为三大模块:客户端模块、服务器端模块和公共辅助类模块

  • 客户端模块的主要功能:

    • 登陆功能:用户可以注册,然后选择服务器登入聊天室

    • 显示用户:将在线用户显示在列表中

    • 接收信息:能接收其他用户发出的信息

    • 发送信息:能发出用户要发出的信息

  • 服务器端模块的主要功能:

    • 检验登陆信息:检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。就允许用户登陆

    • 显示在线状态:将该用户的状态发给各在线用户

    • 转发聊天信息:将消息转发给所有在线的用户

  • 公共辅助类模块的主要功能:

    • 定义完整的消息传递机制

    • 对消息转发的方式进行有效约束

    • 规定消息类型

二 程序设计

2.1 程序设计思想

实现网络聊天室编程,关键在于Socket通信,程序的功能都是在Socket的基础上一层一层增加的。

实现Socket通信的基本方法为以下4个步骤:

  • 客户端与服务器端分别实例化ServerSockot/Socket

  • 打开连接到Socket的面向对象输入输出流

  • 利用输入输出流按照TCP协议对Socket进行读写操作

  • 关闭输入输出流和Socket

我们要实现的功能都是在第3步对Socket的输入输出流做相应的操作:

涉及到多客户端并发访问,必须用线程进行控制,不同的处理线程为不同的客户服务,主线程只负责循环等待,处理线程负责网络连接,接受客户输入的信息,根据消息类型对消息转发。


参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1407.html

猜你喜欢

转载自blog.csdn.net/demongwc/article/details/84935672