logo资料库

asp.net聊天室代码设计报告.docx

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
聊天室模块设计说明报告 网上聊天系统是为人们进行交流和联系提供的一个平台。利用现代的网络资 源优势和技术优势,通过提供完善的网上聊天系统的管理,以达到增进人们与人 们之间的信息交流和沟通的目的,并以此加快人们的信息化建设。用户通过提交 用户名称和用户密码进行登陆,系统便会根据这些登陆资料,辨别出用户是否存 在。聊天室中将显示用户留下的信息,及当前在线的用户人数。 但是我们设计的只是一个简易的网上聊天室,当用户访问网站首页时打开登 陆页面(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 知识的欠缺,对于书本的知识还是不太清楚,通过对聊天室程序的 认识,我明白怎样去设计一个网站,对以后的网站设计会有很多帮助。
分享到:
收藏