Je ne sais pas si je suis au bon endroit pour poster, excusez-moi si ce n'est pas le cas. Je suis en train de coder une espèce de client qui a l'air de "marcher", pour l'instant. Il y a juste un petit soucis au moment du ping de connection. Ca n'empêche pas la bête de "tourner", juste un peu embêtant :/
En connectant par telnet, je reçois un "PING xxxxxxxxx", auquel je réponds par un "PONG xxxxxxxxx". J'envois les paramètres USER et c'est bonard.
Maintenant, avec le "client", c'est différent. J'ai codé une fonction qui quote le ping, elle affiche/envoit ce qu'il faut, mais il faut tapper deux fois la commande USER.
if (!strncmp(bufferReception , "PING" , 4))
{
memset(pong , '\0' , sizeof(pong));
strcpy(pong , "PONG ");
strcat(pong , strchr(bufferReception , ':')); // Il y a bien une chaine de la forme "PONG xxxxxxxxx"
send(sock , pong , sizeof(pong) , 0); //Qui a la même forme que "tappée à la main"
}
Voilà la fonction. Elle me quote le ping comme "il faut" pourtant, mais il faut rentrer deux fois de suite les paramètres USER après ça.
Losque j'inverse les commande (en envoyant USER puis NICK), tout se passe correctement. En envoyant NICK puis USER sur les autres ircd, ça se passe bien. Ca a l'air de devoir être fait dans ce sens là, d'après la RFC. Si vous aviez une petite idée svp, ça ne serait pas de refus. Or not... ^^
Merci