聊天室模块设计说明报告
网上聊天系统是为人们进行交流和联系提供的一个平台。利用现代的网络资
源优势和技术优势,通过提供完善的网上聊天系统的管理,以达到增进人们与人
们之间的信息交流和沟通的目的,并以此加快人们的信息化建设。用户通过提交
用户名称和用户密码进行登陆,系统便会根据这些登陆资料,辨别出用户是否存
在。聊天室中将显示用户留下的信息,及当前在线的用户人数。
但是我们设计的只是一个简易的网上聊天室,当用户访问网站首页时打开登
陆页面(default.aspx)。在输入了用户名和相应的密码后,进入聊天页面(chat.htm)。
页面通过框架分为上下两个部分,上方显示聊天信息,下方显示输入聊天信息的
表单,用户在输入信息后单击“提交”按钮即可将信息发布到上方窗口。当用户
进入聊天页面时,屏幕上显示“xxx 进入聊天室”(xxx 为用户昵称)的信息。而
在屏幕的下方就是用户自己输入的对话文字。
这个简易的网上聊天室一共有六个页面,就是 default、chat、main、send、
global、web 页面。
下面分别对这六个页面能实现的功能以及代码进行分析。
Default 页面是登陆页面的首页,在 System.Web.UI.Page 命名空间下能够运
Response.Write("")};return;}
这行代码用于实现对用户忘记输入用户名和密码,出错信息进行提示。
Response.Write("");
这行代码用于实现对用户输入的用户名或密码错误进行提示。当用户输入的用户
名存在,及密码正确时就会运行下面代码:
Session["nick"]=userinfo[i].nickname;Response.Redirect("chat.htm");
Redirect 就会实现跳转功能,于是便跳转到了 chat 页面。
chat 页面是聊天页面的设计,它是用 html 语言编写的,
其中 meta 是标签,charset 指的是页面编码及输入的语言 , 在框架(frameset)
中将整个页面分隔为上下两个页面,上面的页面用于显示聊天室中聊天的对话内
容,下面的页面用于用户自己输入文字。很明显的在 chat 页面中会联系到多个
页面才能实现聊天的功能。
Send 页面用于实现用户登录及用户输入的文字信息,在 Page_Load 事件中
lblName.Text="发言人:" + Session["nick"].ToString();//将发言人及用户
的昵称转换成字符串赋值到lblName的文本中,
if (!IsPostBack)
{Application["chat"] = Application["chat"] + ""
+Session["nick"].ToString() + " 进入聊天
";}//用于显示xxx进入聊
天.下面在btnSubmit_Click事件中,同时声明了字符串变量strMsg文本框,对文
本框的设置如下列代码:
strMsg ="
"+Session["nick"].ToString() + "说";
//对Session对象中昵称字体颜色设置。
strMsg = strMsg + txtMsg.Text; //将文本框中原有的文字信息和现有的文字
信息一起赋值到文本框中。
strMsg = strMsg + "(" + DateTime.Now.ToString() + ")";//将系统
时间输出
strMsg = strMsg + "
";
Application.Lock();
Application["chat"] = Application["chat"] + strMsg;
对象的原有变量内容和文本框中的内容赋值给新的chat变量。
Application.UnLock();
变量。以上是send页面中的相关代码分析。
//调用Application对象中的Lock方法,锁定全部变量
//将Application
//文字信息换行
//调用Application对象中的UnLock方法,解锁全部
另外还涉及了Global页面和web页面。Global.asax文件即asp.net应用程序
文件,该文件包含响应asp.net或http模块所引发的应用程序级别和会话级别事
件的代码,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。任
何外部的用户将无法直接下载或者浏览Global.asax文件。在Application_Start
事件中,即在应用程序启动时运行的代码
Application.Clear();
Web.config 文件是一个 XML 文本文件,它用来储存 ASP.NET Web 应用程序
的配置信息(如最常用的设置 ASP.NET Web 应用程序的身份验证方式),它可
以出现在应用程序的每一个目录中。
//清除所有变量
设置 compilation debug="true"将调试符号
插入已编译的页面中。但由于这会影响性能,因此只在开发过程中将此值设置为
true。
通过节可以配置
ASP.NET使用的安全身份验证模式,以标识传入的用户。
以上是我对六个页面的个人认识,在编写这段程序的代码中涉及了很多内置
对象,如:Response、Request、 Session、 Application、Server,这些对象都有
各自的属性、方法和事件。Response对象是HttpResponse类的一个实例,该类主
要是封装来自ASP.NET操作的HTTP响应信息。该对象能动态响应客户端的请求,
并将动态生成的响应结果返回给客户端浏览器。在本程序中应用了Response的
write、Redirect方法,Response对象的Redirect方法用于将客户端重新定向到新的
URL,如:Response.Redirect("chat.htm");转到chat页面。
Session(会话)是一个对象集合,其作用是在服务器端存储特定的信息,利用
Session对象可以在用户访问某个页面时存储一些属于该用户的信息,当用户浏览
器跳转到其他页面时仍然可访问保存在服务器的用户信息。在ASP.NET2.0中使用
Session对象,必须保证页面的@Page指令中EanbleSession属性值被设为true(默认)
或Readonly,并且在Web.config文件中对Session进行正确的设置(默认的设置为开
启)。Session对象在访问网站时创建,在整个用户会话过程中一直存在,直到用
户离开网站时或者会话结束。
Application对象是HttpApplicationState类的一个实例,HttpApplicationState类
是由用户在global.asax文件中定义的应用程序的基类。此类的实例Application对象
是在ASP.NET基础结构中创建的,而不是由用户直接创建的。一个实例在其生存
期内被用于处理多个请求,但它一次只能处理一个请求。这样,成员变量才可用
于存储针对每个请求的数据。
其中Application对象和Session对象是有区别的,它们都可在服务器端保存数
据或对象,使用方法和常用属性、事件、方法也基本相同。但Application对象中
保存的信息是为所有来访的客户端浏览器共享的,而Session对象保存的数据则是
仅为特定的来访者使用的。Application对象增加了Lock()方法和UnLock()两个方法,
用于在使用set方法更改Application对象值时将其锁定,在更改完毕后再解除锁定。
对 Web 应用系统与 Windows 应用系统开发特点上的区别进行总结如下:
Winddows 应用程序(client/Server-简称 CS 模式)这类程序一般独立运行,不需
要连接网络就可以在一台电脑上运行。WEB 应用程序(Browser/Server-简称 BS
模式)是通过浏览器来完成客户端与服务器的交互的。或者说是动态的,这种应
用程序与客户端有互动性。可以通俗的解释为:windows 程序就是做软件的,Web
程序就是做网站的。
综合分析我对聊天室程序设计的解释,整个聊天室模块的六个页面有着紧密
的联系,它们构成了一个简易的网站,实现了简易聊天室,看似简单但又关系复
杂,刚开始真不知如何去写,从哪个页面开始,联系到哪个页面真难呀!我想是
我对 asp.net 知识的欠缺,对于书本的知识还是不太清楚,通过对聊天室程序的
认识,我明白怎样去设计一个网站,对以后的网站设计会有很多帮助。