asp編程案例:用ASP構(gòu)建音樂服務(wù)器
發(fā)表時間:2024-01-25 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]---- 音樂服務(wù)器(Music Server)是指一個提供音樂在線服務(wù)的服務(wù)器,它包括高端提供門戶服務(wù)的網(wǎng)站、Web數(shù)據(jù)庫和低端的操作平臺、硬件設(shè)施。目前,在Internet和Intranet上有不少這樣的站點,特別是在一些高速寬帶的局域網(wǎng)中(如校園網(wǎng)),音樂服務(wù)器給上網(wǎng)的朋友提供了休閑娛樂的好...
---- 音樂服務(wù)器(Music Server)是指一個提供音樂在線服務(wù)的服務(wù)器,它包括高端提供門戶服務(wù)的網(wǎng)站、Web數(shù)據(jù)庫和低端的操作平臺、硬件設(shè)施。目前,在Internet和Intranet上有不少這樣的站點,特別是在一些高速寬帶的局域網(wǎng)中(如校園網(wǎng)),音樂服務(wù)器給上網(wǎng)的朋友提供了休閑娛樂的好去處,同時也給網(wǎng)站帶來了較高的訪問率。
----像其他站點一樣,音樂服務(wù)器包括網(wǎng)站和硬件兩個部分。硬件性能和服務(wù)器效率是成正比的,因而如何構(gòu)建網(wǎng)站才是一個音樂服務(wù)器的關(guān)鍵。從目前來看,網(wǎng)站基本有兩種類型:一種是運行在Unix / Linux環(huán)境下,采用Perl / C / Php / Java 等作CGI編程語言;一種是運行在Win NT Server 平臺上,采用ASP / WinCGI 作后臺語言。前者運行效率高,但結(jié)構(gòu)復雜,比較適合大型站點;后者編程難度相對較低,而且采用ODBC驅(qū)動接口,數(shù)據(jù)庫連接方便,特別適合作音樂服務(wù)器。
----本文將以ASP 5.0為編程環(huán)境、Mircosoft Access 97為Web 數(shù)據(jù)庫、Win NT Server 4.0為運行平臺,舉例說明音樂服務(wù)器的構(gòu)建步驟。
----一個基本的音樂服務(wù)器包括音樂在線欣賞、音樂排行榜、音樂主題檢索和音樂下載等四個部分。下面將主要從技術(shù)角度來討論如何實現(xiàn)以上功能。
音樂主題數(shù)據(jù)庫的規(guī)劃
----音樂主題數(shù)據(jù)庫是Web站點存儲所需音樂資料的倉庫,它的規(guī)劃在很大程度上影響了整個網(wǎng)站的結(jié)構(gòu)和效率。數(shù)據(jù)庫中可以單獨建成一張表單,也可以以主鍵和外鍵的形式建成多張表單。本例中為說明上的便利,建成如下單表框架: (music.mdb)
音樂在線欣賞
----在線欣賞是指客戶端利用播放器播放服務(wù)器端的音樂文件。其原理是當客戶端向服務(wù)器提交音樂選單后,服務(wù)器生成相應(yīng)的.m3u文件,并將該文件通過Http協(xié)議下行至客戶端;客戶端將被激發(fā)調(diào)用相應(yīng)的播放器執(zhí)行該文件,從而實現(xiàn)了音樂在線欣賞功能。目前支持.m3u文件的播放器有Winamp、Realplayer G2、 Musicmatch等。當這些播放器軟件被正確安裝在客戶端時,就可以自動播放.m3u文件。所以解決問題的關(guān)鍵在于后臺如何生成.m3u文件并下行到客戶端。以下利用ASP中內(nèi)置的FileSystem組件給出一種解決方案,并給出相應(yīng)程序。
<%
dim choose,path,mydb,myset,SQL,fs,mp3
‘##### 獲得list.htm表單中選中的歌曲項
對應(yīng)的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(“l(fā)ist.htm")
response.end
end if
‘#####設(shè)置文件路徑,需要把temp目錄的權(quán)限設(shè)為
對internet匿名用戶具有read & write 權(quán)限 #####
path=“E:\inetpub\wwwroot\temp\"
‘##### 創(chuàng)建文件對象 #####
Set fs = CreateObject(“Scripting.FileSystemObject")
Set mp3 = fs.CreateTextFile(path+“l(fā)isten.m3u", True)
‘##### 創(chuàng)建數(shù)據(jù)庫對象#####
set mydb=server.createobject(“adodb.connection")
mydb.open “music"
‘##### 檢索數(shù)據(jù)庫,獲得歌曲信息 #####
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
‘##### 更新數(shù)據(jù)庫中的當天點播次數(shù)和
總共點播次數(shù) #####
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(“l(fā)isten.m3u")
response.end
%>
----注意:利用這種方法時,要控制.m3u文件Http頭的內(nèi)容。在Winnt中可利用IIS設(shè)置.m3u文件類型的Mine內(nèi)容。具體操作如下:啟動IIS —> 選中音樂服務(wù)器所在的Web站點 —> 點擊“屬性” 按鈕 —> 在出現(xiàn)的屬性選項卡中點擊“Http標題”卡 —> 點擊“文件類型”按鈕 —> 點擊“新增類型”按鈕 —> 在“相應(yīng)的擴展名”中填入“.m3u”,在“內(nèi)容類型”中填入“audio/mpegurl” —> 然后一路確定即可。
[1] [2] 下一頁