一 需求分析
采用C/S模式,基于TCP协议编程的方式,使得各个用户通过服务器转发实现聊天的功能
分为三大模块:客户端模块、服务器端模块和公共辅助类模块
客户端模块的主要功能:
登陆功能:用户可以注册,然后选择服务器登入聊天室
显示用户:将在线用户显示在列表中
接收信息:能接收其他用户发出的信息
发送信息:能发出用户要发出的信息
服务器端模块的主要功能:
检验登陆信息:检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。就允许用户登陆
显示在线状态:将该用户的状态发给各在线用户
转发聊天信息:将消息转发给所有在线的用户
公共辅助类模块的主要功能:
定义完整的消息传递机制
对消息转发的方式进行有效约束
规定消息类型
二 程序设计
2.1 程序设计思想
实现网络聊天室编程,关键在于Socket通信,程序的功能都是在Socket的基础上一层一层增加的。
实现Socket通信的基本方法为以下4个步骤:
客户端与服务器端分别实例化ServerSockot/Socket
打开连接到Socket的面向对象输入输出流
利用输入输出流按照TCP协议对Socket进行读写操作
关闭输入输出流和Socket
我们要实现的功能都是在第3步对Socket的输入输出流做相应的操作:
涉及到多客户端并发访问,必须用线程进行控制,不同的处理线程为不同的客户服务,主线程只负责循环等待,处理线程负责网络连接,接受客户输入的信息,根据消息类型对消息转发。
参考文档和完整的文档和源码下载地址:
网友评论