begin process at 2012 05 28 08:44:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

client irc


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

client irc

vendredi 18 août 2006 à 07:21:51 | client irc

tagboys

bon j'ai trouver une source sur ce site ces un socket bot j'aimerait y rajouter quelque commands .
la seul chose qu'il a ces le pong reply .
j'aimerait rajouter des function tel que :
reagir a un certain mots ex: !op !deop etc juste avoir 1 example serait tres aprecier merci d'avance :)



#include "prosock.h"
#include <stdio.h>
#include "token.h"
#include <time.h>

void IrcProc(ProSock* s, int message);
void proc_ircid(ProSock* s, int message);

ProSock s_accept = CreateProSocket(proc_ircid);
ProSock s_listen = CreateProSocket(proc_ircid);

ProSock botirc = CreateProSocket(IrcProc);


void main()
{
   s_listen.SockListen(113);
   botirc.SockOpen("mesra.dal.net",6669);

   while (true)
   {
      Sleep(INFINITE);
   }
}


void IrcProc(ProSock* s, int message)
{
   switch(message)
   {
      case ON_SOCKOPEN:
      {
         // Géneration d'un nick 'aléatoire'/////
         srand(time(0));
         char c1 = (rand() % 10) + '0';
         char c2 = (rand() % 10) + '0';
         char c3 = (rand() % 10) + '0';
         char c4 = (rand() % 10) + '0';
         char nick[20];
         sprintf(nick,"cosmo%c%c%c%c",c1,c2,c3,c4);
         //////////////////////////////////////////

         printf("connection reussie sur %s (port %d) !\n",s->Ip(),s->Port());
         s->SockWrite("NICK ");
         s->SockWriteln(nick);
         s->SockWriteln(" USER pouet . . pouit");
         s->SockWriteln("JOIN #CosmoBob");
         break;
      }
      case SOCKOPEN_ERROR:
      {
         printf("impossible de se connecter sur %s (port %d)\n",s->Ip(),s->Port());
         // Le socket va être automatiquement fermé.
         break;
      }

      case SOCKWRITE_ERROR:
      {
         printf("Erreur de send\n");
         s->SockClose();
         break;
      }
      case SOCKREAD_ERROR:
      {
         printf("erreur de recv, le socket est automatiquement fermé\n");
        
         break;
      }


      case ON_SOCKREADLN:
      {
         char buffer[512];
         s->SockReadln(buffer,sizeof(buffer));

         printf("%s\n",buffer);
        
         char param1[50];
         token(buffer,param1,sizeof(param1),1,1,32);
         if (!strcmp(param1,"PING"))
         {
            s->SockWrite("PONG ");
            s->SockWriteln(buffer);
         }
        
         break;
      }
   }
}


void proc_ircid(ProSock* s, int message)
{
   switch(message)
   {

      case ON_SOCKLISTEN:
      {
         printf("listen ok !\n");
         s->SockAccept(&s_accept);
         s->SockClose();
         break;
      }

      case SOCKLISTEN_ERROR:
      {
         printf("listen error (le socket va etre fermé automatiquement)!\n");
         break;
      }

      case ON_SOCKACCEPT:
      {
         printf("accept ok Ip : %s (port %d)\n",s->Ip(),s->Port());
         break;
      }

      case SOCKACCEPT_ERROR:
      {
         printf("accept error\n");
         break;
      }

      case ON_SOCKREADLN:
      {
         char buffer[200];
         s->SockReadln(buffer,sizeof(buffer));
         printf("%s\n",buffer);

         char param1[50];
         char param2[50];
         token(buffer,param1,sizeof(param1),1,1,32);
         token(buffer,param2,sizeof(param2),3,3,32);
         char string2send[150];
         strncpy(string2send,param2,sizeof(string2send));
         strncat(string2send," , ",sizeof(string2send));
         strncat(string2send,param1,sizeof(string2send));
         strncat(string2send," : USERID : UNIX : pouet",sizeof(string2send));
         s->SockWriteln(string2send);

         break;
      }
   }
}


le lien du client : http://www.cppfrance.com/code.aspx?ID=20596

mercredi 13 septembre 2006 à 18:15:07 | Re : client irc

LA_Tupac

Membre Club
lol en clair tu veux que qqun fasse le boulot à ta place

Everything is possible...so...nothing, forget
lundi 18 septembre 2006 à 19:08:31 | Re : client irc

tagboys

hum non pas vraiment j`ai trouver par moi meme avec la lib winsock mais merci quand meme


Cette discussion est classée dans : buffer, case, printf, break, char


Répondre à ce message

Sujets en rapport avec ce message

interruption avec dev-cpp dans instruction asm() [ par mrtoufou ] J'ai un probleme avec dev-cpp. J'ai besoin de trouver la resolution avant d'acceder a la memoire video et je comptais pour cela utiliser la fonction v Petit problem avec switch [ par Darkneon ] Salut, Mon but est de faire bouger le curseur a l'ecran avec les fleches et d'afficher une lettre a cette position.J'ai le codde suivant.#include &l Petit jeu en mode texte [:D] [ par thedivxboy ] Alors je carbure en C aujourd'hui ...Pourquoi la tête ne se déplace-t-elle pas au bon endroit ?Pourquoi dois-je mettre un getchar() à un certain endr erreur a l'execution [ par vangeurmasker ] J'ai créé un projet sous VC++ 6 pour faire une calcullette qui annalyse une chaine entrée. Lors de la compilation je n'ai aucune erreur. C'est a l'exe help me !!! [ par pascal13 ] j arrive pas a compiler mon programme...je sais que g qlq que souccis au niveau de la sauvegarde des données sur le fichier toutes remarques seront le CASE [ par CHKDSK2K ] Bonjour, j'ai une variable de type char "choix";  je voudrais utiliser cette variable dans un switch mais il ne veut passwitch(choix){    case 'maison ptit probleme [ par aladdin_wydadi ] voila le code source ke j'ai trouvé : #include#include //--------------------------------------------------------------------// Conversion d'un nombre CreateService [ par 0xYg3n3 ] Bonjour, Voila j'ai cree une application que je souhaits mettre en mode Service. Mais le probleme est que lorsque je vais dans le panneau de configura cosinus,sinus,tangante,ans [ par chinois57 ] quelqu'un peut maider a rajouter (cos, sin, tan, ans) svp ma source est:#include #include #include main(){float x,y;char z; printf("veuillez saisir un prob math [ par chinois57 ] g un prob pour faire les fonction cosinus, sinus,tangante, ansmerci de maider ma source est: #include #include #include main(){float x,y;char z; print


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,406 sec (3)

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