仓酷云
标题:
ASP编程:用ASP构建音乐服务器
[打印本页]
作者:
飘灵儿
时间:
2015-1-16 23:16
标题:
ASP编程:用ASP构建音乐服务器
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了服务器
----音乐服务器(MusicServer)是指一个供应音乐在线服务的服务器,它包含高端供应流派服务的网站、Web数据库和低真个操纵平台、硬件举措措施。今朝,在Internet和Intranet上有很多如许的站点,出格是在一些高速宽带的局域网中(如校园网),音乐服务器给上彀的伴侣供应了休闲文娱的好去向,同时也给网站带来了较高的会见率。
----像其他站点一样,音乐服务器包含网站和硬件两个部分。硬件功能和服务器效力是成反比的,因此怎样构建网站才是一个音乐服务器的关头。从今朝来看,网站基础有两品种型:一种是运转在Unix/Linux情况下,接纳Perl/C/Php/Java等作CGI编程言语;一种是运转在WinNTServer平台上,接纳ASP/WinCGI作背景言语。前者运转效力高,但布局庞大,对照合适年夜型站点;后者编程难度绝对较低,并且接纳ODBC驱动接口,数据库毗连便利,出格合适作音乐服务器。
----本文将以ASP5.0为编程情况、MircosoftAccess97为Web数据库、WinNTServer4.0为运转平台,举例申明音乐服务器的构建步骤。
----一个基础的音乐服务器包含音乐在线浏览、音乐排行榜、音乐主题检索和音乐下载等四个部分。上面将次要从手艺角度来会商怎样完成以上功效。
音乐主题数据库的计划
----音乐主题数据库是Web站点存储所需音乐材料的堆栈,它的计划在很年夜水平上影响了全部网站的布局和效力。数据库中能够独自建成一张表单,也能够以主键和外键的情势建成多张表单。本例中为申明上的便当,建成以下单表框架:(music.mdb)
音乐在线浏览
----在线浏览是指客户端使用播放器播放服务器真个音乐文件。其道理是当客户端向服务器提交音乐选单后,服务器天生响应的.m3u文件,并将该文件经由过程Http协定下行至客户端;客户端将被引发挪用响应的播放器实行该文件,从而完成了音乐在线浏览功效。今朝撑持.m3u文件的播放器有Winamp、RealplayerG2、Musicmatch等。当这些播放器软件被准确安装在客户端时,就能够主动播放.m3u文件。以是办理成绩的关头在于背景怎样天生.m3u文件并下行到客户端。以下使用ASP中内置的FileSystem组件给出一种办理计划,并给出响应程序。
<%
dimchoose,path,mydb,myset,SQL,fs,mp3
‘#####取得list.htm表单当选中的歌曲项
对应的id号,并赋给字串变量choose#####
choose=“("
fori=3torequest.form.count
choose=choose+request.form(i)+“,"
next
choose=left(choose,len(choose)-1)+“)"
‘#####判别choose变量,假如不包括任何id号,
申明list.htm中没有选中任何歌曲,停止程序#####
ifchoose=“()"then
response.redirect(“list.htm")
response.end
endif
‘#####设置文件路径,必要把temp目次的权限设为
对internet匿名用户具有read&write权限#####
path=“E:inetpubwwwroot emp"
‘#####创立文件工具#####
Setfs=CreateObject(“Scripting.FileSystemObject")
Setmp3=fs.CreateTextFile(path+“listen.m3u",True)
‘#####创立数据库工具#####
setmydb=server.createobject(“adodb.connection")
mydb.open“music"
‘#####检索数据库,取得歌曲信息#####
SQL=“selectmp3name,urlfrom"&dbname&
“whereidin"&choose
setmyset=tdb.execute(SQL)
dowhilenotmyset.eof
‘#####天生点播歌曲文件列表#####
mp3.Write(“http://"+myset(“url")+chr(10))
myset.movenext
loop
‘#####更新数据库中确当天点播次数和
统共点播次数#####
SQL=“updatemusicsetclick=click+1,
this=this+1whereidin"&choose
mydb.execute(SQL)
‘#####作废工具#####
setmyset=nothing
mydb.close
setmydb=nothing
mp3.close
setmp3=nothing
‘#####将该文件下载给用户#####
response.redirect(“listen.m3u")
response.end
%>
----注重:使用这类办法时,要把持.m3u文件Http头的内容。在Winnt中可使用IIS设置.m3u文件范例的Mine内容。详细操纵以下:启动IIS―>选中音乐服务器地点的Web站点―>点击“属性”按钮―>在呈现的属性选项卡中点击“Http题目”卡―>点击“文件范例”按钮―>点击“新增范例”按钮―>在“响应的扩大名”中填进“.m3u”,在“内容范例”中填进“audio/mpegurl”―>然后一起断定便可。
音乐排行榜
----音乐排行榜是音乐服务器不成短少的一项内容,其主要性不亚于一个站点的Pageview。它能够向歌迷立即供应信息、引诱浏览、静态地反应潮水趋向。在浩瀚的音乐服务器中,排行榜也是竟相新陈代谢的中央,具有很高的点击率。一样平常说来,排行榜包含统共点播次数、当天点播次数、统共下载次数等外容。详细的完成办法对照复杂。在单表中能够使用以下SQL语句:select*frommusicorderbytotal_click。如果多表,则能够使用带join子句的团结查询SQL语句。假如要限制查询纪录数,可接纳count()汇合函数。如在本例中,假如要查询当天点播次数前20名的歌曲,可接纳以下语句:selecttop20*frommusicorderbytotal_clickdesc。排行榜的功效次要取决于主题数据库的计划怎样,你能够依据必要增删字段,以完成响应功效(如增添进榜工夫、歌手材料、名次变更等等),所触及的SQL语句也不会过于庞大。总之,排行榜是表现一个音乐网站特征地点,能够自在发扬。
音乐主题检索
----提到检索,良多人立即遐想到Yahoo、Soho等出名站点,而且很有奥秘之感。实在,搜刮引擎在数据库中并不是难事,由于数据库内置的数据引擎已供应了很好的基本。搜刮效力的上下取决于数据库的功能和SQL语句的效力。在前台,能够供应一系列的检索项目和前提选项。在背景,则依据前台提交的表单,天生响应的查询语句在数据库中实行,并将查询了局前往。好比在前台提交的表单为:检索项目=“歌手姓名”,内容=“张学友”,婚配前提=“全字婚配”,则背景天生的SQL语句为:select*frommusicwheresinger=‘张学友orderbyedition,idasc,如许就能够检索出张学友的一切歌曲信息,并按专集分类前往。又如前台要查询的歌手姓名为“齐秦”,且歌曲称号带有“雨”字的一切歌曲(即请求含混婚配),则背景天生的SQL语句为:select*frommusicwheresinger=‘齐秦andmp3namelike‘%雨%orderbyidasc,将前往“冬雨”、“太阳雨”、“无情的雨无情的你”等等。只需使用得当的技能和天真的SQL语句,就能够让你的主题检索发扬得极尽描摹。
音乐下载功效
----供应音乐下载功效,一样是音乐服务器的一个基础功效,出格是对远程用户,将喜好的歌曲下载后才干浏览。一样平常有两种体例供应下载,一种是间接经由过程Http和扫瞄器下载,另外一种是将曲库启示为Ftp目次,经由过程ftp协定下载。本例中接纳前一种体例,而且在数据库中对下载次数举行跟踪纪录。有些站点还依据必要对歌曲举行紧缩加密,将暗码供应给正式用户,也是一条可取之道。本例中程序以下:
<%
‘#####取得歌曲标记号id#####
id=request(“id")
settdb=server.createobject(“adodb.connection")
tdb.open“music"
SQL=“selectmp3urlfrommusicwhereid="&id
settset=tdb.execute(SQL)
iftset.eofthen
response.end
else
‘#####更新数据库中歌曲的下载次数#####
SQL=“updatemusicsettotal_down=total_down
+1whereid="&id
tdb.execute(SQL)
downfile=tset(“url")
tdb.close
settset=nothing
settdb=nothing
endif
ifdownfile=“"orisnull(downfile)thenresponse.end
downfile=“http://"+downfile
‘#####下载响应歌曲#####
response.redirect(downfile)
response.end
%>
----以上步骤就构建了一个基础的音乐服务器。固然,一个完全的音乐服务器还能够包含歌手信息、歌迷论坛、谈天室、投票站、文娱旧事网等等功效,都能够用ASP逐一完成。本文限于篇幅,不再具体会商。只需前台页面接纳共同的作风计划和完美的JavaScript程序把持,背景编程使用天真的SQL语句和壮大的ASP组件,加上计划周密的Web数据库和丰厚的创意,就可以构建一个完善的音乐服务器。有乐趣的伴侣无妨碰运气,你会制造一个事业的!
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
作者:
金色的骷髅
时间:
2015-1-20 08:46
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者:
灵魂腐蚀
时间:
2015-1-24 15:54
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
作者:
精灵巫婆
时间:
2015-1-25 22:29
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者:
仓酷云
时间:
2015-1-30 05:37
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
作者:
admin
时间:
2015-2-3 23:37
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
作者:
再现理想
时间:
2015-2-9 07:24
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
作者:
小妖女
时间:
2015-2-27 04:15
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
作者:
老尸
时间:
2015-3-8 19:50
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者:
若相依
时间:
2015-3-16 13:09
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
作者:
莫相离
时间:
2015-3-22 23:09
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2