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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
int Connect_robot()
{
unsigned int ssocket2 = ssocket;
int ret = 0;
fd_set readfs;
char buffer [2048] = {0};
sendto_("NICK %s",nick);
sendto_("USER %s",user);
sendto_("JOIN %s","#chan,#chan2");
while(1)
{
FD_ZERO(&readfs);
FD_SET(ssocket2, &readfs); // sans ssocket2 - avertissement : comparison between signed and unsigned integer expressions
if((ret = select(ssocket2, &readfs, NULL, NULL, NULL)) < 0)
{
perror("select()");
exit(errno);
}
if (FD_ISSET(ssocket2, &readfs))
{
if ((recv(ssocket, buffer, sizeof(buffer) - 1, 0)) == -1)
{
closesocket(ssocket);
return 1;
}
msgbuffer(buffer);
}
}
return 0;
}
int msgbuffer(char *buffer) {
if (strstr(buffer, "PING :") != NULL && buffer[0] == 'P')
{
buffer[1] = 'O';
if ((send(ssocket, buffer, strlen(buffer), 0)) == -1) {
return 1;
}
if (strstr(buffer, "JOIN :You have not registered")) {
sendto_("JOIN %s","#chan,#chan2"); }
sendto_("PRIVMSG %s %s","#chan2",buffer);
if (strstr(buffer, "ERROR :Closing Link:") != NULL && buffer[0] == 'E')
{
closesocket(ssocket);
return 1;
}
}
return 0;
} |