Udostępnij przez


Rejestrowanie klienta (zestaw SDK w formacie Windows Media Format 11)

[Funkcja skojarzona z tą stroną, windows Media Format 11 SDK, jest starszą funkcją. Został zastąpiony przez Source Reader i składnik zapisywania ujścia . czytnika źródeł i składników zapisywania ujścia zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał czytnika źródeł i modułu zapisywania ujścia zamiast zestawu SDK windows Media Format 11, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Gdy obiekt czytelnika odczytuje dane z serwera, wysyła informacje rejestrowania do serwera. Dostawcy zawartości zwykle używają tych informacji do mierzenia jakości usług, generowania informacji rozliczeniowych lub śledzenia reklam. Informacje rejestrowania nie zawierają żadnych danych osobowych.

Aplikacja może określić niektóre zarejestrowane informacje, wywołując metodę IWMReaderAdvanced::SetClientInfo obiektu czytnika. Można na przykład określić ciąg agenta użytkownika, nazwę aplikacji odtwarzacza lub stronę sieci Web, która hostuje odtwarzacz.

Informacje rejestrowania zawierają identyfikator GUID identyfikujący sesję. Domyślnie czytelnik generuje identyfikator sesji anonimowej. Opcjonalnie czytelnik może zamiast tego wysłać identyfikator, który jednoznacznie identyfikuje bieżącego użytkownika. Aby włączyć tę funkcję, wywołaj metodę IWMReaderAdvanced2::SetLogClientID z wartością TRUE.

Obiekt czytelnika można skonfigurować tak, aby wysyłał informacje rejestrowania na inny serwer, oprócz serwera źródłowego. W tym celu wywołaj metodę IWMReaderNetworkConfig::AddLoggingUrl z adresem URL serwera. Ten adres URL powinien wskazywać skrypt lub plik wykonywalny, który może obsługiwać żądania HTTP GET i POST. Możesz użyć agenta anonsowania multiemisji i rejestrowania (wmsiislog.dll) lub możesz napisać niestandardowy skrypt ASP lub CGI w celu odbierania danych dziennika.

Nuta

Tę samą funkcję można uzyskać, tworząc listę odtwarzania po stronie serwera z atrybutem logURL.

 

Gdy obiekt czytelnika wysyła dziennik, wykonuje następujące czynności:

  1. Wysyła puste żądanie GET do serwera.
  2. Analizuje odpowiedź serwera dla jednego z następujących ciągów:
    • <body><h1>NetShow ISAPI Log Dll</h1>
    • <body><h1>WMS ISAPI Log Dll/0.0.0.0</h1> gdzie "0.0.0.0" jest dowolnym prawidłowym numerem wersji.
  3. Wysyła żądanie POST z informacjami dziennika.

Poniższy kod przedstawia przykładowy skrypt ASP, który odbiera informacje rejestrowania i zapisuje je w pliku:

<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>

Można określić wiele serwerów do odbierania informacji rejestrowania; wystarczy wywołać AddLoggingUrl raz z każdym adresem URL. Aby wyczyścić listę serwerów odbierających dzienniki, wywołaj metodę IWMReaderNetworkConfig::ResetLoggingUrlList.

implementowanie funkcji sieci

interfejsU IWMReaderAdvanced,

IWMReaderAdvanced2, interfejs