Page principale | Hiérarchie des classes | Liste alphabétique | Liste des classes | Liste des fichiers | Membres de classe | Membres de fichier | Pages associées

TestReseauClient.cpp

Aller à la documentation de ce fichier.
00001 /*! \file TestReseauClient.cpp
00002     \brief Client pour test réseau.
00003 
00004     Client pour tester le serveur du système réseau.
00005 
00006     \author     aerith (contact@aerith.biz - www.aerith.biz)
00007     \version    1.0
00008     \date       12/12/2005
00009 */
00010 
00011 #include    "../Portage/Error.h"
00012 #include    "../Portage/Tools.h"
00013 #include    "NetClient.h"
00014 #include    "NetParser.h"
00015 
00016 #define     TEST    "TEST testage 10:-12.3abc:de fg"
00017 
00018 int     RequestTest(NetRequestParameter *pParameter);   /*!< Requette de raw TEST pour test.    */
00019 int     RequestData(NetRequestParameter *pParameter);   /*!< Requette de raw NET_DATA.          */
00020 int     RequestEnd(NetRequestParameter *pParameter);    /*!< Requette de raw NET_END.           */
00021 
00022 int     End;
00023 
00024 int     main(void)
00025 {
00026     NetClient   Client;
00027     NetParser   Parser(Client.Connect);
00028     Ini         Fichier("Net.conf");
00029     BEGIN
00030     LOC("main")
00031     LOG("client.log")
00032 
00033     if(Fichier.GetSection("langage"))
00034     {
00035         if(Fichier.GetSection("langage")->GetItem("error"))
00036         {
00037             LANG(Fichier.GetSection("langage")->GetItem("error")->GetData())
00038         }
00039         else
00040             printf("Pas d'info de langage d'erreur\n");
00041     }
00042     else
00043         printf("Pas de section langage\n");
00044 
00045     End = 0;
00046 
00047     TRY Parser.AddRequest("TEST", 0, (ROUTINE)RequestTest, "%s %s %i:%f%s:%s");
00048     TRY Parser.AddRequest(NET_DATA, 0, (ROUTINE)RequestData, "%s %i:%s");
00049     TRY Parser.AddRequest(NET_END, 0, (ROUTINE)RequestEnd, "%s");
00050     TRY printf("Parser configurer, un test : %s\n", TEST);
00051 
00052     TRY CERROR = Parser.Parse(TEST);
00053     TRY printf("Parser opperationnel\n\nConnection...\n");
00054 
00055     TRY if(Fichier.GetSection("client"))
00056     {
00057         if(Fichier.GetSection("client")->GetItem("ip") && Fichier.GetSection("client")->GetItem("port") && Fichier.GetSection("client")->GetItem("pass"))
00058             TRY CERROR = Client.Start(
00059                 Fichier.GetSection("client")->GetItem("ip")->GetData(),
00060                 AtoD(Fichier.GetSection("client")->GetItem("port")->GetData()),
00061                 Fichier.GetSection("client")->GetItem("pass")->GetData()
00062             );
00063         else
00064         {
00065             printf("Pas d'info d'ip, port ou pass\n");
00066             CERROR = 2;
00067         }
00068     }
00069     else
00070     {
00071         printf("Pas de section client\n");
00072         CERROR = 2;
00073     }
00074 
00075     TRY printf("Connecter a %s:%i\n", Client.Connect->Ip, Client.Connect->Port);
00076 
00077     do
00078     {
00079         TRY CERROR = Client.Receive();
00080 
00081         TRY printf("\nRecu : %s\n", Client.GetBuffer());
00082 
00083         TRY CERROR = Parser.Parse(Client.GetBuffer());
00084     }
00085     while(!CERROR && !End);
00086 
00087     Client.Stop();
00088 
00089     printf("Systeme stoper\n");
00090 
00091     PERROR
00092 
00093     printf("\nPressez \'entree\' pour quitter.\n");
00094     KeyGet();
00095 
00096     ENDBEGIN
00097 }
00098 
00099 int     RequestTest(NetRequestParameter *pParameter)
00100 {
00101     for(int i = 0; i < pParameter->GetNbData(); i++)
00102     {
00103         switch(pParameter->GetType(i))
00104         {
00105             case    NET_INT     :
00106                 printf("Parse %i\tI : %d\n", i, pParameter->GetInt(i));
00107                 break;
00108             case    NET_FLOAT   :
00109                 printf("Parse %i\tF : %f\n", i, pParameter->GetFloat(i));
00110                 break;
00111             case    NET_CHAR    :
00112                 printf("Parse %i\tC : %c\n", i, pParameter->GetChar(i));
00113                 break;
00114             case    NET_STRING  :
00115                 printf("Parse %i\tS : %i >%s<\n", i, strlen(pParameter->GetString(i)), pParameter->GetString(i));
00116                 break;
00117         }
00118     }
00119 
00120     return 0;
00121 }
00122 
00123 int     RequestData(NetRequestParameter *pParameter)
00124 {
00125     char    Buffer[20];
00126 
00127     sprintf(Buffer, "%s %i", NET_DATA, strlen(pParameter->GetString(2)));
00128     pParameter->Connect->SetBuffer(Buffer);
00129 
00130     return pParameter->Connect->Send();
00131 }
00132 
00133 int     RequestEnd(NetRequestParameter *pParameter)
00134 {
00135     End = 1;
00136 
00137     return 0;
00138 }
00139 

Généré le Thu Oct 12 01:00:43 2006 pour GestionAsso par  doxygen 1.3.9.1