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

一 需求分析

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

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

客户端模块的主要功能:

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

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

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

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

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

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

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

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

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

定义完整的消息传递机制

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

规定消息类型

二 程序设计

2.1 程序设计思想

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

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

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

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

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

关闭输入输出流和Socket

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

6607861-61e2ade7a1ebbfcd.png

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

6607861-deba43f124692a37.png

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

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

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值