当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP构建音乐服务器

ASP
论坛树状记录表的堆栈展开
Oracle大文本在ASP中存取问题的解决
ASP创建SQL Server数据库的两种方法
浅谈session_onend的调试
用ASP访问数据库的几种常见方式
教你一次下载网页中的所有资源
20种看asp源码的方法及工具
在ASP中使用智岛网格控件全过程
解决使用ASP无法连接ORACLE 9i数据库的问题
用Js判断输入的时间是否有效
ADO数据与XML数据间的转换的类
使用命名管道访问SQL Server
网页加速之网页结构篇
在红蜻蜓中实现多房间
在ASP中使用Oracle数据库技巧
关于分页办法
在VB中使用API函数(Any)
网站ASP漏洞小总结
网页之定时器详解
实用函数- 判断输入的是否是电话号码

用ASP构建音乐服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 239 ::
收藏到网摘: n/a

       ---- 音乐服务器(Music Server)是指一个提供音乐在线服务的服务器,它包括高端提供门户服务的网站、Web数据库和低端的操作平台、硬件设施。目前,在Internet和Intranet上有不少这样的站点,特别是在一些高速宽带的局域网中(如校园网),音乐服务器给上网的朋友提供了休闲娱乐的好去处,同时也给网站带来了较高的访问率。
  
  ----像其他站点一样,音乐服务器包括网站和硬件两个部分。硬件性能和服务器效率是成正比的,因而如何构建网站才是一个音乐服务器的关键。从目前来看,网站基本有两种类型:一种是运行在Unix / Linux环境下,采用Perl / C / Php / Java 等作CGI编程语言;一种是运行在Win NT Server 平台上,采用ASP / WinCGI 作后台语言。前者运行效率高,但结构复杂,比较适合大型站点;后者编程难度相对较低,而且采用ODBC驱动接口,数据库连接方便,特别适合作音乐服务器。
  
  ----本文将以ASP 5.0为编程环境、Mircosoft Access 97为Web 数据库、Win NT Server 4.0为运行平台,举例说明音乐服务器的构建步骤。
  
  ----一个基本的音乐服务器包括音乐在线欣赏、音乐排行榜、音乐主题检索和音乐下载等四个部分。下面将主要从技术角度来讨论如何实现以上功能。
  
  音乐主题数据库的规划
  ----音乐主题数据库是Web站点存储所需音乐资料的仓库,它的规划在很大程度上影响了整个网站的结构和效率。数据库中可以单独建成一张表单,也可以以主键和外键的形式建成多张表单。本例中为说明上的便利,建成如下单表框架: (music.mdb)
  
  
  音乐在线欣赏
  ----在线欣赏是指客户端利用播放器播放服务器端的音乐文件。其原理是当客户端向服务器提交音乐选单后,服务器生成相应的.m3u文件,并将该文件通过Http协议下行至客户端;客户端将被激发调用相应的播放器执行该文件,从而实现了音乐在线欣赏功能。目前支持.m3u文件的播放器有Winamp、Realplayer G2、 Musicmatch等。当这些播放器软件被正确安装在客户端时,就可以自动播放.m3u文件。所以解决问题的关键在于后台如何生成.m3u文件并下行到客户端。以下利用ASP中内置的FileSystem组件给出一种解决方案,并给出相应程序。
  <%
  dim choose,path,mydb,myset,SQL,fs,mp3
  ‘##### 获得list.htm表单中选中的歌曲项
  对应的id号,并赋给字串变量choose #####
  choose=“("
  for i=3 to request.form.count
  choose=choose+request.form(i)+“,"
  next
  choose=left(choose,len(choose)-1)+“)"
  ‘##### 判断choose变量,如果不包含任何id号,
  说明list.htm中没有选中任何歌曲,终止程序#####
  if choose=“()" then
  response.redirect(“list.htm")
  response.end
  end if
  ‘#####设置文件路径,需要把temp目录的权限设为
  对internet匿名用户具有read & write 权限 #####
  path=“E:\inetpub\wwwroot\temp\"
  ‘##### 创建文件对象 #####
  Set fs = CreateObject(“s cripting.FileSystemObject")
  Set mp3 = fs.CreateTextFile(path+“listen.m3u", True)
  ‘##### 创建数据库对象#####
  set mydb=server.createobject(“adodb.connection")
  mydb.open “music"
  ‘##### 检索数据库,获得歌曲信息 #####
  SQL=“select mp3name,url from "&dbname&
  “where id in "&choose
  set myset=tdb.execute(SQL)
  do while not myset.eof
  ‘##### 生成点播歌曲文件列表 #####
  mp3.Write(“http://"+myset(“url")+chr(10))
  myset.movenext
  loop
  ‘##### 更新数据库中的当天点播次数和
  总共点播次数 #####
  SQL=“update music set click=click+1,
  this=this+1 where id in "&choose
  mydb.execute(SQL)
  ‘##### 取消对象 #####
  set myset=nothing
  mydb.close
  set mydb=nothing
  mp3.close
  set mp3=nothing
  ‘##### 将该文件下载给用户#####
  response.redirect(“listen.m3u")<