閱讀英文

共用方式為


用戶端記錄 (Windows Media Format 11 SDK)

當讀取器物件從伺服器讀取資料時,會將記錄資訊傳送至伺服器。 內容提供者通常會使用此資訊來測量服務品質、產生帳單資訊或追蹤廣告。 記錄資訊不包含任何個人資料。

應用程式可以在讀取器物件上呼叫 IWMReaderAdvanced::SetClientInfo 方法,以指定記錄的部分資訊。 例如,您可以指定使用者代理程式字串、播放機應用程式的名稱,或裝載播放機的網頁。

記錄資訊包含識別會話的 GUID。 根據預設,讀取器會產生匿名會話識別碼。 或者,讀取器可以改為傳送可唯一識別目前使用者的識別碼。 若要啟用此功能,請使用TRUE值呼叫IWMReaderAdvanced2::SetLogClientID方法。

除了原始伺服器之外,您還可以設定讀取器物件,將記錄資訊傳送至另一部伺服器。 若要這樣做,請使用伺服器的 URL 呼叫 IWMReaderNetworkConfig::AddLoggingUrl 方法。 此 URL 應該指向可處理 HTTP GET 和 POST 要求的腳本或可執行檔。 您可以使用多播和記錄廣告代理程式 (wmsiislog.dll) ,也可以撰寫自訂 ASP 或 CGI 腳本來接收記錄資料。

注意

您可以使用 logURL 屬性建立伺服器端播放清單,以取得相同的功能。

 

當讀取器物件傳送記錄檔時,它會執行下列動作:

  1. 將空的 GET 要求傳送至伺服器。
  2. 剖析下列其中一個字串的伺服器回應:
    • <body><h1>NetShow ISAPI Log Dll</h1>
    • <body><h1>WMS ISAPI Log Dll/0.0.0.0</h1> 其中 「0.0.0.0」 是任何有效的版本號碼。
  3. 傳送具有記錄資訊的 POST 要求。

下列程式碼顯示一個範例 ASP 腳本,可接收記錄資訊並將它寫入檔案:

<html>
<body>
<h1>WMS ISAPI Log Dll/9.00.00.00.00</h1>
<%@ Language=VBScript %>
<%
  Dim temp, i, post, file, fso

  ' Convert the binary data to a string.
  For i = 1 To Request.TotalBytes
    temp = Request.BinaryRead(1)
    pose = pose & Chr(AscB(temp))
  Next

  Set fso = createobject("Scripting.FileSystemObject")
  Set file = fso.OpenTextFile("C:\log.txt", 8, TRUE)

  file.writeline Now
  file.writeline post
  file.writeBlankLines 2 
%>
</body>
</html>

您可以指定多部伺服器來接收記錄資訊;只要使用每個 URL 呼叫 AddLoggingUrl 一次。 若要清除接收記錄的伺服器清單,請呼叫 IWMReaderNetworkConfig::ResetLoggingUrlList 方法。

實作網路功能

IWMReaderAdvanced 介面

IWMReaderAdvanced2 介面