Bonsoir,
J'ai cod� un bot irc brouillon, mais j'ai quelques erreurs une dans le code et une autre qui n'est pas vraiment une erreur. La premi�re est que les informations renvoy�es par le serveur me sont affich� bizarrement, j'entends par l� qu'il ne sont pas affich� comme leur contenu. Par exemple le serveur m'envoie une phrase, je re�ois des caract�re bizarre et je distingue quelque mots de la phrase (�a me fait �a depuis que je suis pass� sous VS 2005). J'ai donc essay� un autre IDE tel que Dev-cpp, seulement il me retourne une erreur qui se trouve dans le winsock2.h .. (:
Voila pour ce qui est de l'affichage, ce qui est minime.. Mon autre probl�me est que lorsque je re�ois une information venant du serveur je v�rifie son contenu, par exemple je v�rifie si le message re�u est "PING" et j'envoie "PONG" au serveur pour qu'il sache que je suis toujours connect� et qu'il ne me d�connecte pas. jusque l� tout va bien, maintenant j'essaie de d�tecter un mot dans une phrase et faire en sorte que si celui ci y est, d'envoyer un message sur un salon pr�cis, seulement c'est l� que �a coince..
Comme je le dis mon code est un brouillon et sale =/
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 #include <stdio.h> #include <string.h> #include <string> #include <stdlib.h> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") int main() { WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WSAData); SOCKET sock; SOCKADDR_IN sin; char *buffer = new char[255], nick[] = "NICK squared\r\n", user[] = "USER socketz \"x.com\" \"irc.voila.fr\" :E equal MC squared\r\n", pong[] = "PONG :irc.voila.fr\r\n", join[] = "JOIN #help-scripting\r\n", version[] = "PRIVMSG #help-scripting :testing\r\n"; sock = socket(AF_INET, SOCK_STREAM, 0); sin.sin_addr.s_addr = inet_addr("195.101.94.137"); sin.sin_family = AF_INET; sin.sin_port = htons(6667); connect(sock, (SOCKADDR *)&sin, sizeof(sin)); send(sock,user,strlen(user),0); send(sock,nick,strlen(nick),0); send(sock,join,strlen(join),0); while (1) { memset(buffer,0,sizeof(buffer)); recv(sock, buffer, sizeof(buffer), 0); if (buffer) { printf("%s\n",buffer); if (strstr(buffer,"PING")) { send(sock,pong,strlen(pong),0); } /* c'est à cette ligne que mon problème se situe même si aucune erreur m'est retournée*/ if (strstr(buffer,"testz")) { send(sock,version,strlen(version),0); } } else { closesocket(sock); WSACleanup(); system("PAUSE"); } } return 0; }
Je n'utilise pas encore les threads donc j'ai remplac� par une while infinie. Aucune erreur m'est retourn�e � la compilation et aucune pendant son utilisation alors que je ne re�ois pas le message sur le salon.. Et si une erreur m'est renvoy� par le serveur ce qui se pourrait, ben je ne la vois pas d� � cette affichage pourrit =]
pour mieux comprendre ce dont je parle, pour ce qui est de l'affichage: http://www.picdo.net/Fichiers/fb841f...d9b/erreur.PNG
[edit]
mon probl�me d'affichage est r�solu, je vais maintenant pouvoir regarder ce qu'il ne va pas pour mon message de test
[/edit]
Partager