Partager via


Journalisation du client (Kit de développement logiciel (SDK Windows Media Format 11)

Lorsque l’objet lecteur lit des données à partir d’un serveur, il envoie des informations de journalisation au serveur. Les fournisseurs de contenu utilisent généralement ces informations pour mesurer la qualité du service, générer des informations de facturation ou suivre la publicité. Les informations de journalisation ne contiennent aucune donnée personnelle.

L’application peut spécifier certaines des informations journalisées, en appelant la méthode IWMReaderAdvanced::SetClientInfo sur l’objet lecteur. Par exemple, vous pouvez spécifier la chaîne de l’agent utilisateur, le nom de l’application de lecteur ou la page Web qui héberge le lecteur.

Les informations de journalisation incluent un GUID qui identifie la session. Par défaut, le lecteur génère un ID de session anonyme. Si vous le souhaitez, le lecteur peut envoyer un ID qui identifie de manière unique l’utilisateur actuel. Pour activer cette fonctionnalité, appelez la méthode IWMReaderAdvanced2::SetLogClientID avec la valeur TRUE.

Vous pouvez configurer l’objet lecteur pour envoyer les informations de journalisation à un autre serveur, en plus du serveur d’origine. Pour ce faire, appelez la méthode IWMReaderNetworkConfig::AddLoggingUrl avec l’URL du serveur. Cette URL doit pointer vers un script ou un exécutable qui peut gérer les requêtes HTTP GET et POST. Vous pouvez utiliser l’agent de publication multidiffusion et de journalisation (wmsiislog.dll), ou écrire un script ASP ou CGI personnalisé pour recevoir les données de journal.

Notes

Vous pouvez obtenir les mêmes fonctionnalités en créant une playlist côté serveur avec un attribut logURL .

 

Lorsque l’objet reader envoie le journal, il effectue les opérations suivantes :

  1. Envoie une requête GET vide au serveur.
  2. Analyse la réponse du serveur pour l’une des chaînes suivantes :
    • <body><h1>NetShow ISAPI Log Dll</h1>
    • <body><h1>WMS ISAPI Log Dll/0.0.0.0</h1> où « 0.0.0.0 » est un numéro de version valide.
  3. Envoie une requête POST avec les informations de journal.

Le code suivant montre un exemple de script ASP qui reçoit les informations de journalisation et les écrit dans un fichier :

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

Vous pouvez spécifier plusieurs serveurs pour recevoir des informations de journalisation ; appelez simplement AddLoggingUrl une fois avec chaque URL. Pour effacer la liste des serveurs qui reçoivent des journaux, appelez la méthode IWMReaderNetworkConfig::ResetLoggingUrlList .

Implémentation de fonctionnalités réseau

IWMReaderAdvanced Interface

IWMReaderAdvanced2, interface