[C] Robot IRC
|
20-05-2014, 10h36
(Modification du message : 20-05-2014, 19h17 par Ekroz.)
Message : #1
|
|
Ekroz
![]() Membre actif ![]() Messages : 77 Sujets : 13 Points: 43 Inscription : May 2013 |
[C] Robot IRC
Bonsoir N-PNien(ne)s,
Parce qu'il est 1h16 et des brouettes, que je suis au régime biscottes et bouillons d'épinard, et que j'ai transpiré pour coder toute la soirée sur Vim, le cross-compilateur GCC sous Debian, la VM Windows 7 sous VBox, toussa toussa... j'ai décidé de vous partager un petit bout de code (qui fait quand même 195 lignes indenté en K&R bien dégueulasse). Il s'agit d'un bot IRC minimal codé en C principalement pour Windows (mais certainement adaptable sur les Unix-like). Les paramètres requis sont -h pour l'hôte/l'IP et -n pour le pseudonyme. L'option -p permet quand à elle de définir le port si il ne s'agit pas du port IRC par défaut 6667. Sans plus tarder (fiou j'ai failli marquer "sans plus tâter") : Code C :
#define _WIN32_WINNT 0x0501 Voili voiloù, j'attends vos remarques, vos critiques ou même vos insultes si vous décelez des choses aberrantes. |
|
20-05-2014, 10h43
Message : #2
|
|
gruik
![]() gouteur de savon ![]() Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [C] Robot IRC
je connaissais pas ws2tcpip.h, c'est spécifique à mingw ?
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
20-05-2014, 13h46
Message : #3
|
|
Ekroz
![]() Membre actif ![]() Messages : 77 Sujets : 13 Points: 43 Inscription : May 2013 |
RE: [C] Robot IRC
Apparemment nope, ça date de Windows 2000, c'est le header nécessaire pour la fonction getaddrinfo() qui tend à remplacer gethostbyname() considéré comme deprecated par la doc Microsoft qui ne permettait que la résolution d'adresse en mode IPv4.
|
|
20-05-2014, 19h25
Message : #4
|
|
Ekroz
![]() Membre actif ![]() Messages : 77 Sujets : 13 Points: 43 Inscription : May 2013 |
RE: [C] Robot IRC
Bon j'ai fais quelques corrections j'étais vraiment fatigué apparemment : 3 fuites de mémoire et 2 buffer overflow (un sprintf qui a comme source argv, et l'autre qui a comme source le buffer reçu par recv()).
|
|
20-05-2014, 20h50
Message : #5
|
|
gruik
![]() gouteur de savon ![]() Messages : 757 Sujets : 44 Points: 482 Inscription : Oct 2012 |
RE: [C] Robot IRC
j'ai pas examiné en détails mais pour le moins tu peux rajouter des strncmp() aussi au lieu de strcmp()
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure. Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau, L'Art poétique) |
|
« Sujet précédent | Sujet suivant »
|
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)