基于java语言的C/S模式网络聊天室软件

2018-12-27  本文已影响0人  奔跑骚年

一 需求分析

采用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

上一篇下一篇

猜你喜欢

热点阅读