收藏 分享(赏)

企业即时通讯系统——后台服务器架构设计.ppt

上传人:wo7103235 文档编号:6860635 上传时间:2019-04-25 格式:PPT 页数:8 大小:629KB
下载 相关 举报
企业即时通讯系统——后台服务器架构设计.ppt_第1页
第1页 / 共8页
企业即时通讯系统——后台服务器架构设计.ppt_第2页
第2页 / 共8页
企业即时通讯系统——后台服务器架构设计.ppt_第3页
第3页 / 共8页
企业即时通讯系统——后台服务器架构设计.ppt_第4页
第4页 / 共8页
企业即时通讯系统——后台服务器架构设计.ppt_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、企业即时通讯系统 后台服务器架构设计,在本次毕业设计中,我主要负责CS通讯系统中server端的设计,在这次PPT的演示中,我希望通过对服务端主要类的介绍以及其内部工作流程,向各位老师展示我所负责和完成的工作。多谢各位老师的指导帮助。,Server类 SwitchThread类和ServerThread类 InputThread类和OutputThread类,Server类中主要方法: run()方法 创建定时更新数据库的定时器Timer; 接受客户端的连接请求:CSocket=welcome.accept();/首次与客户端的传输层通信进行用户验证,将CSocket作为参数传给Certifi

2、ng(Socket Csocket); 准备接收客户端的认证信息。 Certifing(Socket Csocket)方法 由Socket Csocket创建到客户端的流准备读写 等待客户端的输入先接收客户端的控制字符(单个字符)(L或者R),分别表示用户登陆或者注册接着接收客户信息UserInfo对象-客户端将个人信息(主要用到的是用户名和密码)封装成的对象。如果L则进行用户登陆验证如果R则先检验用户名是否已经存在,若不存在,创建对应的UserInfo对象,写入数据库和AllUsers,SwitchThread类 SwitchThread完成的任务(后台运行): 实际上是个转发器,保存了所有

3、的ServerThread对象 转发即时通讯信息 向各客户端发布公告 通知各客户端有新用户上下线,使各客户端与服务器端同步 四个队列,一个哈希表 ONingQueue;/在线用户 OFFingQueue;/离线用户 RealTimeMsgQueue;/即时信息 NewPubMsgQueue;/新发送的公告 CSThreads;/所有在线用户的服务对象 SwitchThread主要方法: OffUserReceiver OnUserReceiver PubMsgReceiver RealTimeMsgReceiver run() /负责将4个队列中的信息每500ms转发给CSThreads中的所

4、有的ServerThread对象,ServerThread类 负责与客户端一对一通信的对象 ServerThread完成的任务(后台运行): 每一个客户端连接(登陆/注册成功)进来,服务器端就会生成一个ServerThread对象。Server对象就会把与客户端对应的Socket传递进来,并由该对象的内部类InputThread、OutputThread负责具体的与客户端的通信。 接收Server创建的Socket和与之对应的流。 为InputThread、OutputThread与Server、SwitchThread维护通信信息队列。负责这四个对象的协调。,InputThread类和Out

5、putThread类 ServerThread的内部类 InputThread 接收客户端Client的send()方法发送来的即时信息(控制标志F) 接收客户端Client的send()方法发送来的留言(控制标志M) 接收客户端Client的logoff()方法发送来的下线提示(控制标志D) OutputThread 向Client的run()方法-线程体发送: 服务器端新增公告(控制标志C) 通知有刚上线用户-即在该线程服务对方的用户之后上线(控制标志U) 通知有刚下线用户-即在该线程服务对方的用户上线后下线(控制标志D) 到该线程服务对方的即时信息(控制标志F) InputThread接

6、收到当前服务用户下线提示(控制标志D) 后,回复(控制标志G),Server内部工作流程,Server,SwitchThread,ServerThread.i,InputThread,OutputThread,I/O 分界面,启动服务器并读入数据库中的内容,启动工作线程,Client.j,启动数据库更新定时器定时调用DBUpdate(),若是注册用户则立即插入数据库,connect(),login(),run(),send(),logoff(),点击发布按钮后,SwitchThread将其四个队列中的信息转发到恰当的ServerThread,将新创建的ServerThread添加到CSThread,直接从队列中逐个取出信息发送到客户端,向在线用户即时信息,向不在线用户发送留言,用户退出,将刚退出的ServerThread移除,答复客户端退出,负责与客户端一对一通讯的对象,致谢,感谢软件学院的全体老师 感谢我的指导老师和团队所有成员 敬请答辩组老师指导和批评,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > PPT模板素材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报