资源描述
摘要
随着Internet在中国的迅速发展,人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务。在众多Internet关联功能中,有一项新的业务正成为所有用户所津津乐道的交流方式,这就是网上聊天。下面的文章以ASP+IIS作为开发环境,详细介绍了一个网络聊天室——“红蜻蜓聊天室”的具体实施过程。先介绍了IIS的配置过程,接着对本聊天室程序的5个聊天组件及其相关功能进行了详细的介绍,再以程序流图的方式着重介绍了几个组件的具体实施。
关键词
互联网 个人WEB服务器 Internet信息服务
聊天系统 传输控制协议 网际协议
Abstract:
With the development of the Internet, people make use of it in the daily study and life more and more. In all of the functions of the Internet , chating is becoming a new fashion of communication which is accepted by many people. This article introduces a chatroom named “Red Dragonfly” in detail , which is constructed by ASP(Active Server Pages) and IIS(Internet Information Server).First, the author introduces the configuration of IIS; Second, he introduces the five modules of the chatroom the corresponding functions; in the end, he introduces the implement of the modules in detail with the programme flow chart.
Keywords
Internet Personal Web Server Internet Information Server
Chat System TCP IP
目录
引言…………..………………………………………………………………3
第1章 ASP的环境需求设置……………………………………………..5
1 安装TCP/IP网络通讯协议…………………………………………5
2 安装Web服务器……………………………………………………6
3 其它相关软件安装….……………………………………………….6
第2章 程序设计….……………………………………………………….7
1 “聊天室”功能简介………………………………………………7
2 “聊天室”组件介绍………………………………………………7
2.1 登录组件介绍………………………………………………….7
2.2 聊天组件介绍………………………………………………….7
2.3 动作库组件介绍……………………………………………….7
2.4 留言薄组件介绍……………………………………………….7
2.5 管理功能组件介绍…………………………………………….7
3 文件、相关功能说明及目录结构…………………………………8
3.1 \chatroom\目录文件说明………………………………………8
3.2 \chatroom\chat\目录文件说明………………………………….9
3.3 \chatroom\chat\act\目录文件说明…………………………….10
3.4 \chatroom\chatlyb\目录文件说明……………………………..10
3.5 \chatroom\manage\目录文件说明……………………………..11
4 流程图………………………………………………………………12
4.1 文件执行流程图……………………………………………….12
4.2 程序执行流程图……………………………………………….12
4.3 主要功能组件介绍…………………………………………….13
5 主要功能界面………………………………………………………13
5.1 登录页面……………………………………………………….13
5.2 聊天室主界面………………………………………………….13
5.3 留言薄界面…………………………………………………….14
5.4 管理组件页面………………………………………………….14
第3章 应用…………………………………………………………………15
1 主页空间申请………………………………………………………15
2 网络资源……………………………………………………………15
附录(参考书目及相关网址)……………………………………………..16
引言
随着Internet在中国的迅速发展,人们日常生活中越来越多地使用这项新的技术来为自己的工作和学习服务。在众多Internet关联功能中,有一项新的业务正成为所有用户所津津乐道的交流方式,这就是网上聊天。个人用户可以通过网上聊天系统将自己融入整个主流社会中。在网上聊天室这个虚拟的社会中,可以结交各层次各地方的朋友,从而为自己获取更多的知识和更多的阅历。而在基于WINNT的大型企业内部网络中,可以通过该方式进行技术交流和即时信息的发布,从而免除了整天在会议中耗时的尴尬,为企业的工作效率提高起一定的帮助。
以上介绍了一些网上聊天系统的实用价值和优点,那么我们如何才能构建一个网上聊天系统和如何使用它呢?在对这些进行具体说明之前,先介绍一下所选用的软件(ASP+IIS)。
ASP是我选择的动态网页语言,IIS是个人WEB服务器。
目前,最常用的三种动态网页语言有ASP(Active Server Pages)、JSP(Java Server Pages)、PHP (Hypertext Preprocessor)。
ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Javascript)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点()自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
总的来说,ASP,PHP,JSP是各有所长的。它们都能实现动态网页的基本编程工作。而考虑到WINNT的使用范围和软件的易实现性,所以我选择了ASP+IIS的组合。
以下将通过环境的设置、程序的设计、在网络上的应用来说明这一工作的具体实施。
ASP的环境需求设置
一般来说,ASP程序目前可以在Windows95/98/NT等操作系统下运行,因此您的计算机的硬件配备至少要符合操作系统的需求,除了硬件之外,您还必须安装TCP/IP网络通讯协议,Web服务器及ASP软件。
1 安装TCP/IP网络通讯协议
因为ASP软件通常都是配合Web服务器运行的,而Web服务器通常需要安装TCP/IP网络通讯协议。但TCP/IP协议无法单独运作,因此必须配合网卡使用,如果您已经准备好了网卡,那么,请参考使用手册进行安装;如果没有网卡,又想运行ASP的话,那么您需要“骗骗”计算机才行。以下将以Windows98为例,说明如何在没有网卡的情况下安装TCP/IP网络通讯协议。
Step1. 首先,请您启动控制面板并在[网络]的图标上双击鼠标左键。弹出[网络]的对话窗。如果您在以前没有安装任何的网络组件,那么在“配置”标签页内容应该为空,此时,请您按下[增加]按钮,开始增加“网络组件”。
Step2. 请在“选择网络组件类型”对话窗中,双击“网络适配器”。
Step3. 请在“选择网络适配器”对话窗中,选择“Microsoft制造厂商”的“拨号适配器”。
Step4. 此时系统自动为您产生了“拨号适配器”,“IPX/SPX兼容通讯协议”及“NetBEUI”等网络组件,用户并不需要再做任何的设置。除了这些网络组件外,我们还需要TCP/IP网络通讯协议,因此您需要按下[添加…]按钮,开始增加其它网络组件。
Step5. 在“请选择网络组件类型”对话窗中,单击“协议”;在“选择网络协议”对话窗中选择“Microsoft制造厂商”的“TCP/IP”网络通讯协议。此时系统会自动为您安装[TCP/IP]网络组件。
2 安装Web服务器
在网络组件正确安装以后,接下来就是安装Web服务器。ASP所需要的Web服务器版本至少要Person Web for Windows 95或IIS3.0以上的版本。以下介绍IIS的安装。
在“开始”中选择“设置”—>“控制面板” —>“添加/删除程序”,在弹出的“添加/删除程序”程序对话窗中选择“添加/删除Windows组件”。随后会弹出“Windows组件向导”,在“组件”中打钩选中“Internet信息服务(IIS)”项,然后按“下一步”,系统会提示插入“Windows安装光盘”,然后自动完成相关配置。
如果您已经正确的安装“网卡”,“TCP/IP网络通讯协议”及“Web服务器”后,接着,应该安装ASP软件。如果您使用的是IIS3.0或是Person Web for Windows 98以上的版本,您都不需要另外安装ASP软件。否则,您需要取得ASP软件,这个软件可以到微软网站()下载。下载完毕后,您将会得到一个可执行文件(Asp.exe),直接点击执行即可。
3 其它相关软件安装
除了上叙这些软件,为了更好的进行程序编辑,调试,您还可以安装其它软件。诸如:Asp编辑器(AspEdit,Editplus);或其它一些“所见即所得”的网页制作工具(Frontpage,Deamweaver等),用于程序的编辑及调试工作;数据库支持软件(Microsoft Access,SQL Server等),用于建立数据库,和对所建立的数据库进行操作。
“聊天室”程序设计
环境建好后,就可以选择一个文本编辑器如EditPlus进行程序设计和调试。以下就已建好的一个“聊天室”系统——“红蜻蜓聊天室”,来简单地介绍说明。
1 “聊天室”功能简介
本聊天室具有很多独特的功能。其掉线检测功能,避免了掉线后无法登录的情况;对话数据及在线用户数据全部保存在环境变量中,而没有保存在文件中,避免了频繁读写硬盘,加快了运行速度;实行经验值等级制度,不同等级拥有不同的权限;根据在聊天室中的停留时间来计算经验值,每停留一分钟经验值将增加一分,只有正常退出,经验值才会保存起来;动作库,可让网友自己添加新动作;动作效果,使动作对象的名字变为红色,更加醒目; “聊神榜”,列出注册用户中经验值最高的前100名铁杆聊神;拥有禁用帐号、封锁IP、升级、降级功能; “聊务公开”栏中,版主的所有操作均被记录在案,以供聊友监督,避免版主滥用职权;具有帐号查询、帐号列表功能;清理帐号功能,可方便地删除帐号,清除30天没有使用的帐号,清除已自杀的帐号;留言薄并可支持300条留言,支持留言搜索功能;……
2 “聊天室”组件介绍
本聊天室由五部分组成:登录组件、聊天组件、动作库组件、留言薄组件、管理功能组件。这五部分已经紧密集成在一起。
2.1 登录组件:提供用户注册、修改密码、删除帐号、记录首次登录时间、最后一次来访时间、最后来访的 IP、来访次数、记录经验值、根据经验值自动为用户升级、检测IP是否被封锁。
2.2 聊天组件:提供说话颜色、姓名颜色、标题、私聊、动作、表情、刷新名单区、刷新对话区、在线用户列表等功能,可以在在线用户列表及对话区中直接选择说话对象。
2.3 动作库组件:提供了587条各式动作,利用关键词进行搜索。网友可以方便地将自己的动作加入库中,供大家分享。
2.4 留言薄组件:可支持300条留言,并提供留言搜索功能。
2.5 管理功能组件:提供[功能说明][反映问题][聊神榜][聊务公开][聊友信息][清屏操作][升级操作][降级操作][留言管理][IP管理][帐号查询][帐号列表][清理帐号][重启程序][动作管理]等功能,并且不同等级的用户能操作的功能不同。
3 文件、相关功能说明及目录结构
3.1 \chatroom\目录文件说明
3.2 \chatroom\chat\目录文件说明
文件名
功能说明
Global.asa
用于本软件启动、关闭,用户连接、断开时执行相应操作(如果要更改聊天室的名字,请更改第四行的值:Application("aspchitchat_chatroom_name")="红蜻蜓聊天室"
active.asp
使用户保持活动的“监视窗”
check.asp
负责用户登录时进行一系列检测
countchat.txt
记录本聊天室的来访次数
index.htm
将页面自动引向login.asp
login.asp
登录页面
readme.htm
说明文件
restart.asp
重回登录页面
speakmanage.asp
留言薄管理
welcome.asp
欢迎页面
文件定位
\chatroom\
文件名
功能说明
chitchat.asp
聊天室窗口的框架结构页面
close.asp
自动关闭聊天室窗口
f1.asp
框架一:对话区
f2.asp
框架二:发言区
f3.asp
框架三:在线用户列表
f4.asp
框架四:菜单功能区
help.asp
聊天室帮助文件
say.asp
用于发言时的处理
saysdata.asp
服务器关闭时,将对话区的内容保存在此文件,下次启动时再读出
sign.asp
动作内容
文件定位
\chatroom\chat\
3.3 \chatroom\chat\act\目录文件说明
文件名
功能说明
act.asp
动作库首页
actadd.asp
添加新动作到库中的处理程序
actaddform.asp
添加新动作的表单
actchange.asp
编辑用户添加动作的界面
actchangeok.asp
将编辑的结果写入库中
actdata.asp
动作库的数据文件
actdel.asp
删除动作
actlistnew.asp
列出用户添加的新动作
actrecover.asp
是否还原动作库
actrecoverok.asp
确定执行还原动作库的操作
actsearch.asp
搜索动作
文件定位
\chatroom\chat\act\
3.4 \chatroom\chatlyb\目录文件说明
文件名
功能说明
speak.asp
留言薄
speakadd.asp
添加新留言
speakcount.txt
记录共加入多少条留言
speakdata.asp
留言数据文件
speaksearch.asp
搜索留言
speaktalk.htm
书写留言的表单
speaktitle.css
超文本样式表
文件定位
\chatroom\chatlyb\
3.5 \chatroom\manage\目录文件说明
文件名
功能说明
actmanage.asp
动作库管理
chatinfo.asp
聊友信息
clear.asp
清屏说明
clearok.asp
清屏
exitchat.asp
离开聊天室
func.asp
高级功能区菜单
ip.asp
IP管理
iplock.asp
封锁IP
ipunlock.asp
解锁IP
kick.asp
踢人
list.asp
帐号列表说明
listdel.asp
从列表中删除帐号
listok.asp
帐号列表
log.asp
聊务公开
logdata.asp
聊务公开数据文件
manage.asp
高级功能区框架结构文件
phb.asp
聊神榜
query.asp
帐号查询说明
querykeyword.asp
按关键词查询帐号
querylevel.asp
按等级查询帐号
queryname.asp
按名字查询帐号
reset.asp
重启程序说明
resetok.asp
重启程序
suoming.asp
功能说明
supervisor.asp
超级用户登录页面
userdowngrade.asp
降级操作第一步
userdowngrade2.asp
降级操作第二步
userdowngrade3.asp
降级操作第三步
userupgrade.asp
升级操作第一步
userupgrade2.asp
升级操作第二步
userupgrade3.asp
升级操作第三步
zip.asp
清理帐号说明
zipdel30.asp
删除30天内没有使用的帐号
zipkill.asp
清除已自杀的帐号
zipname.asp
输入用户名进行删除
文件定位
\chatroom\manage\
4 流程图
4.1 文件执行流程图
Index.htm
Login.asp Active.asp
Check.asp
Welcome.asp Speak.asp
ChitChat.asp
SpeakManage.asp Speaktalk.asp SpeakSearch.asp
F1.asp F2.asp F3.asp F4.asp
ExitChat.asp Manager.asp
Suoming.asp Speaktalk.asp Phb.asp …… Reset.asp Actmanage.asp
4.2 程序执行流程图
登录页面
登录组件
留言薄组件
动作库组件
管理功能组件
聊天组件
4.3 主要功能组件介绍:
登录组件
记录功能
检测功能
注册功能
记录首次登陆时间、最后一次来访时间、最后来访的IP、来访次数、根据经验值自动为用户升级
用户注册、修改密码、删除帐号
检测IP是否被封锁
聊天组件
在线用户列表
刷新
动作
表情
颜色变化
通过以上对聊天组件的介绍。我们对此聊天程序的基本功能有了一个大概了解,下面将介绍一下程序的几个主要界面。使大家对它有个直观上的认识。
5主要功能界面
5.1 登录页面
5.2 聊天室主界面
5.3 留言薄界面
5.4 管理组件页面
以上介绍了“聊天室”程序的基本功能;并对与其相关的组件进行了逐一介绍;从文件及相关功能说明中,可以对构成这个程序的文件和每个文件的作用都有了一定的了解;而在程序执行流图中,可以从宏观上了解“聊天室”程序的具体实施过程。
应用
1 主页空间申请
“聊天室”的程序调试成功后,就得使它能真正发挥作用。那么接下来的工作就是:在WWW上找到能支持ASP的网页空间,然后去申请和上传文件。申请一个支持ASP的主页空间非常简单,只要填写一些相关的表单,然后经对方的网络管理员确认,并给你发出主页开通通知的E-MAIL,你就可以上传文件。
2 网络资源
下面介绍一些支持ASP的主页空间。
飞浪网
提供免费8M个人主页空间。支持ASP,若网站有一定的访问量,支持SQL-SERVER数据库,需经审核,其它用户只能支持ASP+ACCESS。
江南信息港
免费50M空间,支持asp,php,cgi一个工作日相应申请。
21Pop
根据不同用户级别,提供20~700M ASP/PHP3/Perl支持空间!
爱网者同盟
为加盟网站提供支持CGI/ASP/PHP权限的空间!
网视窗
提供30M空间,可申请ASP/ACCESS数据库支持!还可转入域名或增加空间!
华东视窗
提供10M ASP空间,支持FTP!还送三级域名和电邮!
No.1超级酷
提供30M免费空间、提供计数器、留言板、支持ASP!需插入其广告!
飞跃无限
提供50兆主页空间,支持asp权限。
Net638
提供最大200MB的免费主页空间,支持PHP/ASP/Perl。
WebSamba
提供30M免费网站空间,ASP/FTP支持!还送免费电邮!
易网
提供100M空间,支持CGI/PHP(即将支持asp),申请后立刻开通!
动感王国
为站长提供提供免费的无限空间,优秀网站可支持ASP/数据库!
Net638
提供最大200MB的免费主页空间,支持PHP/ASP/Perl!
飞跃无限
提供50兆主页空间,支持asp权限。
李氏兄弟工作坊
提供50MB主页空间,支持ASP。
freesqlhost
提供支持ASP和ACCESS的免费主页。
游戏盖茨
提供二级域名,无限空间,全面支持CGI/ASP/PHP/SQL/ACCESS!
新碟网
无限,支持ASP
参考书目及相关网址
1 ASP实务经典 林金霖编著,中国铁道出版社 2000/8
2 ASP应用经典 周信彦编著,中国铁道出版社 2000/9
3 部分源代码参考 稻香居之红蜻蜓聊天室
4 部分源代码参考 中国软件之共享软件(ASP源代码部分)
5 “动态网页技术——‘CGI;ASP;JSP;PHP’”介绍
6 “动态网页技术——ASP,JSP比较”
7 “动态网页技术——ASP,JSP,PHP比较”
8 Professional Active Server Pages 3.0, Wrox Press. (Especially Chapter 26: Optimizing ASP Performance, by George Reilly and Matthew Gibbs)
9 Microsoft Internet Information Services 5.0 Resource Guide (bundled with Windows 2000 Server Resource Kit, Microsoft Press.
10 Microsoft Internet Information Server Resource Kit (for IIS 4.0), Microsoft Press.
11 Programming Distributed Applications with COM and Microsoft Visual Basic 6.0 by Ted Pattison, Microsoft Press.
12 Effective COM by Don Box, Keith Brown, Tim Ewald, and Chris Sells; Addison-Wesley.
13 Developing Web Usability: The Practice of Simplicity by Jakob Nielsen, New Riders.
14 Microsoft TechNet for IIS
15 LearnASP.com
16 4GuysFromR
17 15S
18 AspT
展开阅读全文