版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 心灵聊天室 如今,网上冲浪风行,越来越多的人们加入其中。网络聊天逐渐成为人们生活中离不开的通讯方式和休闲方式之一,各种聊天工具和聊天站点也纷纷建立起来。 在本章的内容里,将向读者介绍心灵聊天系统的运行流程,并通过具体实例来讲解其实现过程。6.1 项目规划分析 6.1.1 聊天系统功能原理聊天系统功能原理 一个典型的聊天系统的必备功能如下所示。 (1)提供用户登录验证功能。 (2)设置聊天语句发布功能。 (3)聊天内容动态显示功能。 (4)聊天页面刷新功能。 (5)系统管理功能。6.1 项目规划分析 6.1.2 聊天系统构成模块聊天系统构成模块 一个典型的聊天系统的构成模块如下所示。 (
2、1) 用户登录验证 (2) 显示聊天语句 (3) 页面刷新 (4) 用户更新 (5) 聊天内容更新 (6) 提供多个聊天室 (7) 聊天室管理功能6.2 系统配置文件 1配置连接字符串参数 即设置系统程序连接数据库的参数。其对应的实现代码如下所示。 2配置Ajax服务器参数 6.3 搭建数据库 本系统采用SQL Server 2005数据库,创建了一个名为Liao的数据库。数据库中包含两个表,分别用于存储聊天内容和用户信息。 设置系统参数功能由文件Global.asax和文件chat.cs实现。 1文件chat.cs 文件chat.cs的功能是声明类UserInfo,用以封装、保存当前登录用户
3、的信息,并定义数据库访问层的操作方法。 2文件Global.asax 文件Global.asax的功能是在系统项目启动时初始化,保存当前的用户列表;当项目结束运行时,把用户列表信息清空。6.4 实现数据库访问层 6.4.1 登录验证处理登录验证处理 1定义Chat类 2获取登录用户信息 6.4.2 聊天处理聊天处理 在文件chat.cs中,与系统在线聊天处理模块相关的方法如下所示。 方法GetNeirong(int chatID) 方法GetSingleNeirong(int messageID) 方法AddNeirong(string message,int userID,int chatI
4、D)6.4 实现数据库访问层 6.4.3 系统管理系统管理 在文件chat.cs中,与系统聊天室管理模块相关的方法如下所示。 方法GetUser(string username,string password) 方法GetLiaotian() 方法GetSingleLiaotian(int chatID) 方法AddLiaotian(string chatName,int maxNumber,byte status,string remark) 方法UpdateLiaotian(int chatID,string chatName,int maxNumber,byte status,strin
5、g remark) 方法DeleteLiaotian(int chatID)6.4 实现数据库访问层 6.4.4 聊天室房间处理聊天室房间处理 方法GetLiaotian()的功能是获取当前系统内所有的聊天室信息,其具体实现流程如下所示。 (1)从系统配置文件Web.config内获取数据库连接参数,并将其保存在connectionString内。 (2)使用连接字符串创建con对象,实现数据库连接。 (3)新建获取数据库内所有聊天室信息的SQL查询语句。 (4)创建获取数据的对象da。 (5)打开数据库连接,获取查询数据。 (6)将获取的查询结果保存在ds中,并返回ds。6.5 设计系统样式
6、 文件mm.skin的功能是对页面内的各按钮元素进行修饰,使之以指定样式显示出来。 文件web.css的功能是对页面内的整体样式和Ajax控件的样式进行修饰,使之以指定样式显示出来。6.6 用户登录验证模块 6.6.1 用户登录表单页面用户登录表单页面 用户登录表单页面文件Login.aspx的功能是提供用户登录表单,供用户输入登录数据。其具体实现流程如下所示。 (1)插入1个TextBox控件,供用户输入用户名。 (2)插入2个RequiredFieldValidator控件,用于验证输入用户名的合法性。 (3)调用1个Ajax程序集内的TextBoxWatermarkExtender控件,
7、实现用户名验证。 (4)调用2个Ajax程序集内的ValidatorCalloutExtender控件,实现用户名的多样式验证。 (5)插入1个TextBox控件,供用户输入登录密码。 (6)插入2个RequiredFieldValidator控件,用于验证输入密码的合法性。 (7)调用3个Ajax程序集内的ValidatorCalloutExtender控件,实现密码的多样式验证。 (8)调用文件Yanzhengma.aspx,实现验证码显示。 (9)插入2个Button控件,分别用于激活验证处理事件和取消输入。6.6 用户登录验证模块 6.6.2 验证处理页面验证处理页面 登录验证处理页面
8、文件Login.aspx.cs的功能是获取登录表单数据,并将合法用户的登录信息保存到用户列表数组中。其具体实现流程如下所示。 (1)引入命名空间。 (2)Page_Load载入初始化。 (3)定义事件btnLogin_Click(object sender,EventArgs e)。 (4)判断输入验证码的合法性。 (5)判断登录数据是否合法。 (6)读取用户的登录信息,并保存处理。 (7)重定向到系统主页。 (8)输入框清空处理。6.7 系统主界面 6.7.1 在线聊天界面在线聊天界面 系统在线聊天界面文件LiaoTian.aspx的功能是为在线用户提供聊天表单,并实现用户间的聊天处理。其具
9、体实现流程如下所示。 (1)插入1个ListBox控件,用于显示此聊天室内的在线用户。 (2)插入1个TextBox控件,用于显示在线聊天信息。 (3)插入1个TextBox控件,供用户输入发布的聊天信息。 (4)插入1个Button控件按钮,用于激活聊天内容的发布处理事件。 (5)插入1个Timer控件,用于定时刷新聊天页面的信息。6.7 系统主界面 6.7.2 在线聊天处理页面在线聊天处理页面 (1)引入命名空间和声明ChatRoom类。 (2)Page_Load获取聊天室的编号,并进行初始化处理。 (3)通过函数ChatUserInit()初始化聊天室信息。 (4)定义函数ShowUse
10、rData(),显示在线用户信息。 (5)定义函数ShowMessageData(),显示用户发布的聊天室信息。 (6)定义tUser_Tick(object sender,EventArgs e),实现聊天室的定时刷新处理。 (8)定义btnCommit_Click(object sender,EventArgs e),将新发布的信息添加到系统库中。6.8 显示聊天室 6.8.1 聊天室列表页面聊天室列表页面 (1)插入1个DataList控件,设置其值为dlCha。 (2)在DataList控件控件内插入1个模板。 (3)在模板内插入1个HyperLink控件,用于以链接样式显示聊天室的名
11、称、允许的最多在线人数以及当前的在线人数。 (4)调用函数ComputerChatUserCount(),计算聊天室的当前在线人数。 (5)调用Ajax程序集内的HoverMenuExtender控件,动态显示某聊天室当前的在线用户列表。6.8 显示聊天室 6.8.2 聊天室列表处理页面聊天室列表处理页面 (1)引入命名空间和声明Default类。 (2)Page_Load载入初始化处理。 (3)通过BindPageData()获取并显示聊天室的信息。 (4)定义函数FormatChatNumberStatus(int currentNumber,int maxNumber)。 (5)使用函数
12、函数FormatChatNumberStatus计算聊天室的人数,并判断聊天室的状态。 (6)定义函数ComputerChatUserCount(int chatID)。 (7)使用函数ComputerChatUserCount(int chatID)计算聊天室的在线用户数量。 (8)定义函数ShowUserData(ListBox list,int chatID)。 (9)使用函数ShowUserData(ListBox list,int chatID)显示聊天室的用户。6.9 聊天室管理 6.9.1 聊天室添加模块聊天室添加模块 聊天室添加模块的功能是向系统内添加新的聊天室信息。上述功能的实现文件如下所示。文件AddLiao.aspx:添加表单界面文件。文件AddLiao.aspx.cs:添加处理文件。 6.9.2 聊天室列表模块聊天室列表模块 聊天室列表模块的功能是将系统内的聊天室信息以列表样式显示出来,并提供删除和修改聊天室的操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Python程序设计实践- 习题及答案 ch10 实验6 循环结构程序设计
- 老师教学工作期末总结(35篇)
- 护理职业生涯规划书
- 幼儿园中班方案数学
- 湖水读后感(8篇)
- 食品安全承诺书借鉴(35篇)
- 个人工作总结开头语(22篇)
- 高考地理二轮复习综合题专项训练5评价开放类含答案
- 25.2 平行线分线段成比例 同步练习
- 小学数学人教版(2024)三年级上2万以内的加法和减法(一)(含答案)
- 住建局国安评估报告
- 护理管理标识应用课件
- 慢性乙型肝炎防治指南(2022年版)
- 一年级数学上册第四单元测试卷(一)
- 消防产品检查培训课件
- 《基因工程》考试复习题库(含答案)
- 直映识字-第一册阅读
- 2023年数学竞赛AMC8试卷(含答案)
- 高空涂料施工方案
- 船舶定位-天文定位
- 早期康复介入管理制度范文
评论
0/150
提交评论