begin process at 2012 02 11 04:25:19
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Réseaux & Internet

 > TRAÇAGE RÉSEAU

TRAÇAGE RÉSEAU


 Information sur le tutoriel

Note :
Aucune note

 Description

Lorsque vous developpez des applications client/server (sockets), il n'est pas toujours évident de savoir si c'est le client ou le seveur qui n'a pas envoyé les bonnes données. .NET permet de tracer les échanges

Tutorial

(je travaille sous VS2005 en C#)

Pour activer le traçage réseau, afin de "pister" les échanges entre un serveur et un client vous devez :

1° activer dans le menu "Générer" de la page "propriétés" de votre application les constantes DEBUG & TRACE

2° Ajouter le code suivant dans votre fichier app.config

<

configuration >
.....
.....
....

   < system.diagnostics >
   < sources >
      <
source name = " System.Net " >
         <
listeners >
            <
add name = " System.Net " />
         FONT color=#800000 size=2>listeners
>
      FONT color=#800000 size=2>source
>
     < source name = " System.Net.Sockets " >
         <
listeners >
            <
add name = " System.Net " />
         listeners>
     FONT color=#800000 size=2>source
>
    <
sourcename="System.Net.Cache">
        <
listeners>
              <
addname="System.Net"/>
       FONT color=#800000 size=2>listeners
>
    FONT color=#800000 size=2>source
>
  
FONT color=#800000 size=2>sources>
   <
switches>
      <
addname="System.Net"value="Verbose"/>
      <
addname="System.Net.Sockets"value="Verbose"/
      <
addname="System.Net.Cache"value="Verbose"/>
   FONT color=#800000 size=2>switches
>
   <
sharedListeners>
      <
addname="System.Net" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\my.log"/>
   FONT color=#800000 size=2>sharedListeners
>
   <
traceautoflush="true"/>
 system.diagnostics>
FONT color=#800000 size=2>configuration
>

Quelques remarques :
- Vous pouvez/devez laisser les balises existantes contenues dans
- Les lignes dans la balise indique les méthodes à tracer (ex : System.Net.Sockets pour les méthodes socket, TcpListner, TcpClient...)
- les param value de la balise indique le type de trace à lister (Verbose : très explicite)

Voici un exemple de log générée (on y voit clairement le contenu du message échangé ($$$DEB$$$...) :
(Copier/coller les logs dans un fichier texte pour meiux voir son contenu).[0460] Socket#39086322::Send()
[0460] Data from Socket#39086322::Send
24 30 30 30 38 341 43 : $$$DEB$$$00088DC
52 56 5F 48 49  43 20 : QDSRV   SRVSISC
-43 20 20 20 37 2F 31 :   VSESISC   27/1
36 3A 30 38 38 3 8 30 : 2/2006 16:08:380
30 30 30 30 30 31   24 : 000304400000001$
E 24 24 24-               : $$FIN$$$
[0460] Exiting Socket#39086322::Send()  -> 88#88
[2784] Socket#39086322::Receive()
[2784] Exception in the Socket#39086322::Receive - Une opération non bloquante sur un socket n'a pas pu être achevée immédiatement
2784] Exiting Socket#39086322::Receive()  -> 0#0
[1200] DNS::Resolve(localhost)

Attention : l'erreur que vous pouvez aprerçevoir dans ces log "System.Net.Sockets Error: 0 : [2784] Exception in the " correspond à une exception levée suite à un timeout sur la lecture (paramétrage applicatif pour l'utilisation de ma socket). Ce n'est donc pas une erreur applicative ...

Vous pouvez retrouver plus de précisions à http://msdn2.microsoft.com/fr-fr/library/ty48b824(vs.80).aspx

Bon développement.
DT

 Historique

27 décembre 2006 16:42:42 :
Les log ne s'affichagent pas correctement lorsque l'on visualise le tuto
27 décembre 2006 16:45:23 :
toujours ce problème d'affichage des logs, j'ai supprimé une partie des lignes pour que ca soit plus clair... :o(
27 décembre 2006 16:50:07 :
Je n'arrive pas à regler le problème d'affichage des log, j'ai donc ajouter une petite remarque pour meixu les visualiser.

Commentaires

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales