ASP + SQL Server聊天室设计实例
目 录
第一章:绪论
1.1 设计思想
1.2 开发工具和相关技术简介
第二章:聊天室总体分析和设计
2.1 聊天室的运行原理
2.2 聊天室的功能
2.3 聊天室的页面结构设计
2.4 聊天室的程序结构设计
2.5 数据库结构设计
第三章:聊天室的详细设计
1. 变量说明
2. 聊天室的核心引擎(全局聊天消息分发引擎)设计
3. 用户客户端聊天信息输入与发送模块设计
4. 用户客户端全局聊天信息接收与显示模块设计
5. 全局聊天消息缓冲
6. 实例聊天室列表
7. 聊天室在线用户列表
8. 表情图释索引表
9. 聊天用户个人信息保存模块
10. 聊天室显示面板属性个性化设置模块
10.1 聊天对象选择功能
10.2 聊天者名字修改功能
10.3 公聊私聊模式切换功能
10.4 文字背景色前景色设置功能
10.5 聊天面板屏幕显示字体设置
10.6 自动滚屏设置功能
11. 登陆聊天室模块
12. 退出聊天室模块
第四章:聊天室运行环境构架与说明
4.1 运行环境要求
4.2 运行环境构建
4.3 聊天流程说明
第五章:参考文献
附录:聊天室源代码
第 一 章 绪论
在Internet(互连网)飞速发展的今天,上网成为越来越多人们的选择。有关的网络技术也层出不穷。现今活跃在WEB站点中的ASP就是近年才发展起来的一项新型技术。ASP功能强大、本领高强,利用ASP功能时几乎没有什么限制,可以实现动态页面。本文主要介绍了ASP技术相关的基础知识,并探讨了利用ASP + SQL server 建立聊天室的设计思想、方法及设计过程,详细地分析了各个模块的功能及实现方法。本文所实现的聊天室具有良好的程序结构和人机交互界面,通用性强,可应用于不同需求的网站。
1.1设计思想
在互联网上,传统的网站或用户都使用类似于Email(电子邮件)的形式互相发送信息来进行一系列的交流.但这种异步交互的办事效率可见是很低的.为提高效率,让用户之间能达到实时交互的目的,所以出现了可以实时交流信息的聊天室,来满足用户的需求.
1.2 开发工具和相关技术简介
1.2.1 ASP简介
Active Server Pages (ASP) 是服务器端的脚本编写环境,可用它来创建动态 Web 页或生成功能强大的 Web 应用程序。ASP 页是包括 HTML 标记、文本和脚本命令的文件。ASP 页可调用 ActiveX 组件来执行任务,例如连接到数据库或进行商务计算。通过 ASP,可为您的 Web 页添加交互内容或用 HTML 页构成整个 Web 应用程序,这些应用程序使用 HTML 页作为您的客户的界面。
ASP的特点:
ASP可以和HTML或其它脚本语言(VBScript,JavaScript)相互嵌套
ASP是一种在WEB服务器端运行的脚本语言,程序代码安全保密
ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能
ASP内置ADO组件,因此可以轻松的存取各种数据库
ASP可以将运行结果以HTML的格式传送至客户端浏览器,因而可以适用与各种浏览器
制作本聊天室, 服务器端我们使用的是 VBScript 脚本 , 客户端我们使用功能强大的javascript脚本 实现BS 交互.
1.2.2 SQL server 2000简介
SQL Server 2000 是一个杰出的数据库平台,可用于大型联机事务处理数据仓库以及电子商务等,特别是对XML,HTTP 的支持,以及在WEB ,数据仓库服务中的应用,而且存取运行速度远远高于 Access 等小型数据库. 所以很适合用于实时性要求比较高的应用程序, 本聊天室因为实时性要求比较高,所以使用SQL server2000 作为数据库,以获得高效的性能.
1.2.3 JavaScript简介
Java Script是由Sun公司及网景Netscape公司开发的。它可以让你设计交互的网页内容,但不能单独执行,必须在浏览器或服务器上执行。本文就是他在客户浏览器上的应用.
1.2.4 DHTML(动态HTML) 简介
传统的HTML是静态的,当它被加载到浏览器后,它只像一个画面,怎么看也不会发生变化,而动态HTML则意味着Web页面对用户有响应,即,动态HTML能自动变化。
1.2.5 Cookie 技术简介
Cookies是为了弥补HTML的一个缺陷而产生的。HTML是一种无记忆的协议,也就是说用户目前正在浏览的主页对在此之前浏览过的主页没有丝毫记忆和了解。而实际的需要可能是希望浏览器能够记住一些信息,而这些信息却不希望让使用者看到,比如说可能是一些用户的身份信息,因此这些信息是不能以参数的形式传送的。这个需求由HTML本身无法解决,于是引入了Cookies的概念,也就是由WebServer向浏览器写入一些信息,这些信息用户无法看到,当浏览器网站的其他主页发出GET请求时把此Cookies信息也会发送过去,供该主页使用,这样就实现了一定程度上的HTML的记忆能力。
本聊天室就是利用Cookie来存取一些用户的个人配置信息,以减轻服务器运行负担。
第 二 章 聊天室总体分析和设计
2.1 聊天室运行原理
聊天室最基本的原理就是: 从客户端收集消息,然后 通过服务器端消息分发程序中转,将全局消息发送给的所有用户. 其原理图如下:
<textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户</span><span lang="EN-US"><font face="Times New Roman">1</font></span></font></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">聊天客户端</span><span lang="EN-US"><font face="Times New Roman">IE)</font></span></font></p> </div> </td> </tr></tbody></table></textbox><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke><shapetype id="_x0000_t202" path="m,l,21600r21600,l21600,xe" o:spt="202" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><path o:connecttype="rect" gradientshapeok="t"></path></shapetype><shape id="_x0000_s1041" style="MARGIN-TOP: 0px; Z-INDEX: 16; LEFT: 0px; MARGIN-LEFT: 135pt; WIDTH: 81pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="blue" fillcolor="#f9c" filled="f" type="#_x0000_t202"><fill opacity=".5"></fill><textbox style="mso-next-textbox: #_x0000_s1041"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span style="COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">发送聊天消息</span><span lang="EN-US" style="COLOR: black"><p></p></span></font></p> </div> </td> </tr></tbody></table></textbox></shape><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户</span><span lang="EN-US"><font face="Times New Roman">2</font></span></font></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">聊天客户端</span><span lang="EN-US"><font face="Times New Roman">IE)</font></span></font></p> </div> </td> </tr></tbody></table></textbox><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke><shape id="_x0000_s1042" style="MARGIN-TOP: 7.8pt; Z-INDEX: 17; LEFT: 0px; MARGIN-LEFT: 261pt; WIDTH: 81pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="blue" type="#_x0000_t202"><fill opacity=".5"></fill><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">发送聊天消息</font></span></p> </div> </td> </tr></tbody></table></textbox></shape>
<shape id="_x0000_s1046" style="MARGIN-TOP: 0px; Z-INDEX: 21; LEFT: 0px; MARGIN-LEFT: 54pt; WIDTH: 90pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="#9c0" type="#_x0000_t202"><fill opacity=".5"></fill><textbox style="mso-next-textbox: #_x0000_s1046"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">接收全局聊天消息</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1048" style="MARGIN-TOP: 7.8pt; Z-INDEX: 23; LEFT: 0px; MARGIN-LEFT: 333pt; WIDTH: 90pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="#9c0" type="#_x0000_t202"><fill opacity=".5"></fill><textbox style="mso-next-textbox: #_x0000_s1048"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">接收全局聊天消息</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><stroke endarrow="block"><font size="3"></font></stroke><stroke endarrow="block"><font size="3"></font></stroke>
<oval id="_x0000_s1029" style="MARGIN-TOP: 0px; Z-INDEX: 4; LEFT: 0px; MARGIN-LEFT: 180pt; WIDTH: 108pt; POSITION: absolute; HEIGHT: 101.4pt; TEXT-ALIGN: left"><textbox><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">聊天服务器</font></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN-US"><p><font face="Times New Roman" size="3"></font></p></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">消息分发引擎</font></span></p> </div> </td> </tr></tbody></table></textbox></oval><textbox style="mso-next-textbox: #_x0000_s1032"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户</span><span lang="EN-US"><font face="Times New Roman">3</font></span></font></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">聊天客户端</span><span lang="EN-US"><font face="Times New Roman">IE)</font></span></font></p> </div> </td> </tr></tbody></table></textbox><textbox style="mso-next-textbox: #_x0000_s1033"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户</span><span lang="EN-US"><font face="Times New Roman">4</font></span></font></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><font size="3"><span lang="EN-US"><font face="Times New Roman">(</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">聊天客户端</span><span lang="EN-US"><font face="Times New Roman">IE)</font></span></font></p> </div> </td> </tr></tbody></table></textbox><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke><shape id="_x0000_s1043" style="MARGIN-TOP: 112.8pt; Z-INDEX: 18; LEFT: 0px; MARGIN-LEFT: 135pt; WIDTH: 81pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="blue" type="#_x0000_t202"><fill opacity=".5"></fill><textbox style="mso-next-textbox: #_x0000_s1043"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">发送聊天消息</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><stroke endarrow="block"><font size="3"></font></stroke><shape id="_x0000_s1045" style="MARGIN-TOP: 120pt; Z-INDEX: 20; LEFT: 0px; MARGIN-LEFT: 261pt; WIDTH: 81pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="blue" type="#_x0000_t202"><fill opacity=".5"></fill><textbox style="mso-next-textbox: #_x0000_s1045"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">发送聊天消息</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1047" style="MARGIN-TOP: 67.8pt; Z-INDEX: 22; LEFT: 0px; MARGIN-LEFT: 54pt; WIDTH: 90pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="#9c0" type="#_x0000_t202"><fill opacity=".5"></fill><textbox style="mso-next-textbox: #_x0000_s1047"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">接收全局聊天消息</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1049" style="MARGIN-TOP: 75pt; Z-INDEX: 24; LEFT: 0px; MARGIN-LEFT: 342pt; WIDTH: 90pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" strokecolor="#9c0" type="#_x0000_t202"><fill opacity=".5"></fill><textbox style="mso-next-textbox: #_x0000_s1049"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">接收全局聊天消息</font></span></p> </div> </td> </tr></tbody></table></textbox></shape>
图(1)
2.2 聊天室的功能
聊天室支持公聊、私聊、每个用户都有代表自己的昵称,可在用户在线列表中选择聊天对象。聊天消息中可插入表情图释,采用主动刷新机制,确保不会掉线。精心设计的消息分发引擎, 在没有新信息的时候主窗口看不到刷新,尽可能的减小服务器负担。用户类型分成:游客(性别未知),美女和帅哥 3种。且每个用户在一台电脑上只能进一个聊天室。
2.3 聊天室的页面结构设计
本聊天室分为 4 块区域,即 公聊区,私聊区,聊天面板,用户列表。采用 框架形式 的页面结构,以便在一个IE窗口中 显示多个WEB页面,使之构成一个完整实用的聊天室界面。
如图所示:
<shapetype id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:spt="75" coordsize="21600,21600" filled="f" stroked="f" o:preferrelative="t"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 415.5pt; HEIGHT: 311.25pt" type="#_x0000_t75" o:ole=""><imagedata o:title="" src="file:///C:%5CDOCUME~1%5Cjujumao%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image008.png"></imagedata></shape>
图(2)
由以下几个asp文件组成此界面:
chat.asp :由框架组成分别包含: chatboard, singlechat, userlist, controlboard 几个框架(Frame).
chatboard.asp : 公聊区页面
singlechat.asp : 私聊区页面
controlboard.asp : 控制版
userlist.asp : 用户列表
2.4 聊天室的程序结构设计
本聊天室为了尽可能达到通用性,所有将聊天室抽象成一个聊天室模块!只要设置不同的聊天室名字,就可以建立独立的聊天室。应用于网站时,可以由网站管理员建立,也可以让用户自己建立。
下面介绍一下组成本聊天室的11个功能模块
13. 聊天室的核心引擎:全局聊天消息分发引擎
14. 用户客户端聊天信息输入与发送模块
15. 用户客户端全局聊天信息接收与显示模块
16. 全局聊天消息缓冲
17. 实例聊天室列表
18. 聊天室在线用户列表
19. 表情图释索引表
20. 聊天用户个人信息保存模块
21. 聊天室显示属性个性化设置模块
22. 登陆聊天室模块
23. 退出聊天室模块
以下是 本聊天室的程序组成结构图:
<stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke><stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke>
为用户分配资源 释放该用户的资源
<oval id="_x0000_s1066" style="MARGIN-TOP: 0px; Z-INDEX: 41; LEFT: 0px; MARGIN-LEFT: 0px; WIDTH: 81pt; POSITION: absolute; HEIGHT: 31.2pt; TEXT-ALIGN: left"><textbox style="mso-next-textbox: #_x0000_s1066"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">登陆模块</font></span></p> </div> </td> </tr></tbody></table></textbox></oval> 分发信息 发送信息
<stroke endarrow="block"><font face="Times New Roman" size="3"></font></stroke>
发出登陆请求 发出退出请求
<shape id="_x0000_s1055" style="MARGIN-TOP: 7.8pt; Z-INDEX: 30; LEFT: 0px; MARGIN-LEFT: 36pt; WIDTH: 117pt; POSITION: absolute; HEIGHT: 39pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1055"><font face="Times New Roman" size="3"></font></textbox></shape><shape id="_x0000_s1056" style="MARGIN-TOP: 7.8pt; Z-INDEX: 31; LEFT: 0px; MARGIN-LEFT: 261pt; WIDTH: 162pt; POSITION: absolute; HEIGHT: 39pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1056"><font face="Times New Roman" size="3"></font></textbox></shape>
聊天用户个人信息保存模块 |
聊天室显示属性个性化设置模块 |
<shape id="_x0000_s1061" style="MARGIN-TOP: -327.6pt; Z-INDEX: 36; LEFT: 0px; MARGIN-LEFT: 171pt; WIDTH: 63pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1061"><font face="Times New Roman" size="3"></font></textbox></shape><oval id="_x0000_s1050" style="MARGIN-TOP: -288.6pt; Z-INDEX: 25; LEFT: 0px; MARGIN-LEFT: 2in; WIDTH: 117pt; POSITION: absolute; HEIGHT: 70.2pt; TEXT-ALIGN: left"><textbox style="mso-next-textbox: #_x0000_s1050"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">服务器端</font></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">聊天信息接收分发引擎</font></span></p> </div> </td> </tr></tbody></table></textbox></oval><oval id="_x0000_s1051" style="MARGIN-TOP: -109.2pt; Z-INDEX: 26; LEFT: 0px; MARGIN-LEFT: 153pt; WIDTH: 108pt; POSITION: absolute; HEIGHT: 70.2pt; TEXT-ALIGN: left"><textbox style="mso-next-textbox: #_x0000_s1051"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">客户端</font></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">聊天信息输入与发送模块</font></span></p> </div> </td> </tr></tbody></table></textbox></oval><shape id="_x0000_s1052" style="MARGIN-TOP: -288.6pt; Z-INDEX: 27; LEFT: 0px; MARGIN-LEFT: 36pt; WIDTH: 108pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1052"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">全局聊天消息缓冲</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1053" style="MARGIN-TOP: -288.6pt; Z-INDEX: 28; LEFT: 0px; MARGIN-LEFT: 261pt; WIDTH: 108pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1053"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">实例聊天室列表</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1054" style="MARGIN-TOP: -257.4pt; Z-INDEX: 29; LEFT: 0px; MARGIN-LEFT: 36pt; WIDTH: 108pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1054"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">表情图释索引表</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1057" style="MARGIN-TOP: -39pt; Z-INDEX: 32; LEFT: 0px; MARGIN-LEFT: 99pt; WIDTH: 3in; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1057"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">全局聊天信息接收与显示模块息保存模块</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><shape id="_x0000_s1058" style="MARGIN-TOP: -257.4pt; Z-INDEX: 33; LEFT: 0px; MARGIN-LEFT: 261pt; WIDTH: 117pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1058"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">聊天室在线用户列表</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><stroke endarrow="block"><font size="3"></font></stroke><stroke endarrow="block"><font size="3"></font></stroke><shape id="_x0000_s1062" style="MARGIN-TOP: 0px; Z-INDEX: 37; LEFT: 0px; MARGIN-LEFT: 180pt; WIDTH: 63pt; POSITION: absolute; HEIGHT: 23.4pt; TEXT-ALIGN: left" type="#_x0000_t202"><textbox style="mso-next-textbox: #_x0000_s1062"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'"><font size="3">局部模块</font></span></p> </div> </td> </tr></tbody></table></textbox></shape><oval id="_x0000_s1063" style="MARGIN-TOP: -171.6pt; Z-INDEX: 38; LEFT: 0px; MARGIN-LEFT: 333pt; WIDTH: 90pt; POSITION: absolute; HEIGHT: 31.2pt; TEXT-ALIGN: left"><textbox style="mso-next-textbox: #_x0000_s1063"><table cellspacing="0" cellpadding="0" width="100%"><tbody><tr> <td style="BORDER-RIGHT: #ece9d8; BORDER-TOP: #ece9d8; BORDER-LEFT: #ece9d8; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent"> <div> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-FAMILY: 宋体; m