클라이언트 로깅(Windows Media Format 11 SDK)
판독기 개체는 서버에서 데이터를 읽을 때 로깅 정보를 서버로 보냅니다. 콘텐츠 공급자는 일반적으로 이 정보를 사용하여 서비스 품질을 측정하거나, 청구 정보를 생성하거나, 광고를 추적합니다. 로깅 정보에는 개인 데이터가 포함되지 않습니다.
애플리케이션은 판독기 개체에서 IWMReaderAdvanced::SetClientInfo 메서드를 호출하여 기록되는 정보 중 일부를 지정할 수 있습니다. 예를 들어 사용자 에이전트 문자열, 플레이어 애플리케이션의 이름 또는 플레이어를 호스트하는 웹 페이지를 지정할 수 있습니다.
로깅 정보에는 세션을 식별하는 GUID가 포함됩니다. 기본적으로 판독기는 익명 세션 ID를 생성합니다. 필요에 따라 판독기는 현재 사용자를 고유하게 식별하는 ID를 대신 보낼 수 있습니다. 이 기능을 사용하도록 설정하려면 값이 TRUE인 IWMReaderAdvanced2::SetLogClientID 메서드를 호출합니다.
원래 서버 외에도 다른 서버로 로깅 정보를 보내도록 판독기 개체를 구성할 수 있습니다. 이렇게 하려면 서버의 URL 을 사용하여 IWMReaderNetworkConfig::AddLoggingUrl 메서드를 호출합니다. 이 URL은 HTTP GET 및 POST 요청을 처리할 수 있는 스크립트 또는 실행 파일을 가리킵니다. 멀티캐스트 및 로깅 광고 에이전트(wmsiislog.dll)를 사용하거나 사용자 지정 ASP 또는 CGI 스크립트를 작성하여 로그 데이터를 받을 수 있습니다.
참고
logURL 특성을 사용하여 서버 쪽 재생 목록을 만들어 동일한 기능을 얻을 수 있습니다.
판독기 개체가 로그를 보내면 다음을 수행합니다.
- 빈 GET 요청을 서버에 보냅니다.
- 다음 문자열 중 하나에 대한 서버 응답을 구문 분석합니다.
<body><h1>NetShow ISAPI Log Dll</h1>
-
<body><h1>WMS ISAPI Log Dll/0.0.0.0</h1>
여기서 "0.0.0.0"은 유효한 버전 번호입니다.
- 로그 정보를 사용하여 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 메서드를 호출합니다.