rendered paste body#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
#include <windows.h>
char buffer[256];
int pos=0;
int main(void)
{
char user[] = "USER Khellendros Khellendros Khellendros :Khellendros\r\n";
char nick[] = "NICK Khellendros\r\n";
char join[] = "JOIN #geek-only\r\n";
char privmsg[] = "PRIVMSG NICKSERV :identify diablo1\r\n";
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
char buffer[1000];
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr = inet_addr("130.239.18.172");
sin.sin_family = AF_INET;
sin.sin_port = htons(6667);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
send(sock,user, strlen(user), 0);
printf ("%s\n",user);
send(sock,nick, strlen(nick), 0);
printf ("%s\n",nick);
int a;
char *p, tokit[30];
char *j;
char poulet[30];
while (1) {
while(1)
{
recv(sock,&buffer[pos],1,0);
pos+=1;
buffer[pos]='\0';
if(buffer[pos-1]=='\n')
{
recv(sock, buffer, sizeof(buffer), 0);
p = strstr (buffer, "PING");
if (p)
{
for (p += 6, a = 0; *p && *p != '\n'; p++, a++)
tokit[a] = *p;
tokit[a] = 0;
printf ("tokit: %s\n", tokit);
sprintf (poulet, "PONG: %s\n", tokit);
send (sock, poulet, strlen (poulet), 0);
printf ("%s\n",poulet);
}
printf ("%s\n",buffer);
j = strstr (buffer, "End of /MOTD command.");
if (j) {
send(sock,join, strlen(join), 0);
printf ("%s\n",join);
send (sock,privmsg, strlen(privmsg), 0);
printf ("%s\n",privmsg);
int len = recv(sock,buffer,sizeof(buffer)-1,0);
buffer[len]=0;
}
pos=0;
buffer[0]='\0';
}
}
closesocket(sock);
WSACleanup();
}
system("pause");
return 0;
}