小女巫 发表于 2015-2-3 23:41:06

ASP编程:用ASP编写收集传呼机

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。收集   列位喜好上彀冲浪的伴侣必定都去过网易的虚拟社区吧,外面的传呼台功效想必是很得人人的喜欢。经由过程传呼台,咱们可以呼唤任何一个今朝在虚拟社区外面冲浪的网友,可以完成在线扳谈哦。
其实,咱们利用ASP完整可以完成同网易虚拟社区外面传呼台一样的功效,怎样?不信任?那就跟从我一步一步用ASP来完成收集传呼机吧。
Active Server Pages(ASP)是办事器端剧本编写 情况,利用它可以创立和运转静态、交互的 Web 办事器使用法式。利用 ASP 可以组合 HTML 页、剧本号令和 ActiveX 组件以创立交互的 Web 页和基于 Web 的功效壮大的使用法式。ASP 使用法式很轻易开辟和修正。
接上去,咱们就入手下手编写咱们的收集传呼机了。
起首,完成收集传呼的功效有两种办法:
一. 使用数据库完成传呼信息的保留和处置
这类办法的长处是,存储信息处置十分便利,然而它的弱点也是不言而喻的,就是增添了办事器真个承当,由于频仍的存储数据库将会大大增添I/O存取次数,招致网站的毗连速度变得迟缓。
二. 直接利用Application来保留传呼信息
这类办法的长处是,速度分明快于利用数据库来保留传呼信息的办法;弱点是处置信息对照繁琐,然而很值得的哦,咱们起首要包管的是全部网站的功能。

综合下面的要素,咱们将采取第二种办法来编写收集传呼机,关于第一种办法,我会在最初复杂引见一下。
咱们的收集传呼机需求三个页面,也就是“传呼台”页面,“显示传呼信息”页面,“监督传呼机”页面。
“传呼台”页面(bbsSendBegic.asp)是用来向其他在线用户发送信息的页面,天然就仿佛是咱们生涯中的传呼台喽。
“显示传呼信息”页面(bbsSendInfo.asp)是在有人呼唤你的时分,弹出来的显示呼唤内容的页面,就像你本人的BP一样,但咱们的收集BP机功效加倍微弱哦,他可以即时答复他人给你的信息,也能够稍候再答复,或爽性排除失落这条信息。
“监督传呼机”页面(bbsAutoSearch.asp)是随时监督是不是有人呼唤你的页面,就像一个不知倦怠的主动机械人一样一向在监督一切的传呼信息,而且会过滤出来只属于你的传呼信息。
三个页面之间只要“显示传呼信息”页面和“监督传呼机”页面关系亲切, “传呼台”页面是一个绝对自力的页面,三者关系以下图:

没有直接关系 显示到”BP机”





接上去,咱们入手下手编写第一个页面,就是“传呼台”页面。在这个页面外面,咱们要完成以下功效:
1. 获得以后在线的用户列表
2. 发送信息到传呼信息队列傍边停止列队,为今后掏出信息做筹办

页面的详细代码以下(bbsSendBegin.asp):
代码中有具体的正文信息,可以细心浏览

<%@ Language=VBScript %>
<%
users=split(application("OnlineUser"),",") ‘朋分失掉以后在线用户的列表,保留到一个数组中
If trim(request("act"))="wantsend" then ‘判别今朝的操作形态
who=trim(Request.Form("who")) ‘失掉被呼唤用户称号
content=trim(Request.Form("content")) ‘失掉呼唤内容
meme=trim(request("userid")) ‘失掉发送传呼的用户称号
If who="" or content="" then
Response.Redirect "error.asp?msg=姓名或讯息内容为空,没法传送!"
end if
‘上面将发送的信息送至传呼信息队列傍边.
If trim(application("Message"))="" then
Application.Lock
application("Message")=who & "$" & content & "$" & meme ‘放置到传呼信息队列傍边
Application.UnLock
else
Application.Lock ‘‘放置到传呼信息队列傍边
application("Message")=application("message") & "&" & who & "$" & content & "$" & meme
Application.UnLock
end if
‘发送终了,封闭页面
Response.Write "<script language=javascript>self.close();</script>"
end if
%>
<html>
<title>收集传呼机</title>
<head>
<script language="javascript">
function check()
{
if(document.send.content.value.length<1)
{
alert("您必需要说两句喔!");
return;
}
document.send.action="bbsSendBegin.asp?act=wantsend&userid=<%=trim(request("userid"))%>";
document.send.submit();
}
</script>
</head>
<body bgcolor=GhostWhite >
<br>
<center>
网络传呼机
</center>
<br>
<%If Ubound(users)>=2 then%>
<center>
<form name="send" method="post">
<table>
<tr>
<td>送讯息给:</td>
<!-- 失掉以后在线用户的列表,并放到下拉列表框中 -->
<td>
<select name="who">
<%For i=0 to ubound(users)%>
<%If trim(users(i))<>trim(meme) then%>
<%if i>1 then%>
<%if users(i)<>users(i-1) then%>
<option><%=users(i)%>
<%end if%>
<%else%>
<%if users(i)<>meme then%>
<option><%=users(i)%>
<%end if%>
<%end if%>
<%end if%>
<%Next%>
</select>
</td>
</tr>
<tr>
<td>讯息内容:</td>
<td>
<input type="text" name="content" size="20" maxlength="50">
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan=&quot</p>减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。

透明 发表于 2015-2-4 06:01:28

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

柔情似水 发表于 2015-2-9 16:40:55

不能只是将它停留在纸上谈兵的程度上。

小魔女 发表于 2015-2-17 20:01:00

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

飘飘悠悠 发表于 2015-3-5 22:25:24

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

变相怪杰 发表于 2015-3-11 00:20:00

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

活着的死人 发表于 2015-3-17 16:50:12

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

爱飞 发表于 2015-3-17 18:24:37

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

海妖 发表于 2015-3-24 18:48:50

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

兰色精灵 发表于 2015-3-29 13:30:18

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

山那边是海 发表于 2015-4-8 17:46:00

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

不帅 发表于 2015-4-13 06:22:45

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

第二个灵魂 发表于 2015-4-15 19:37:10

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

莫相离 发表于 2015-4-26 11:09:25

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。

再现理想 发表于 2015-5-5 23:09:09

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

老尸 发表于 2015-5-6 09:10:55

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

小女巫 发表于 2015-5-7 15:23:21

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

精灵巫婆 发表于 2015-6-27 21:17:35

ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。

乐观 发表于 2015-7-11 08:40:56

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

若天明 发表于 2015-7-11 21:40:49

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
页: [1]
查看完整版本: ASP编程:用ASP编写收集传呼机