CODE
#include <winsock.h>
#include <stdio.h>
#include <string.h>
#include <stdio.h>
#include <iostream.h>
#define BUF 1024
int port = 6667;
char server[50] = "127.0.0.1";
char channel[20] = "#aaaa";
char chanpass[10] = "hehe";
char nick[10] = "toni32424";
void getdata(int irc);
void sendstr(char str[]);
SOCKADDR_IN remotehost;
SOCKET irc;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
char aux[60] = "";
WSADATA wsaData;
if (WSAStartup(MAKEWORD(2, 1), &wsaData) != 0)
ExitProcess(0);
struct hostent *host = 0;
if ((host=gethostbyname(server)) == NULL)
ExitProcess(0);
remotehost.sin_addr = *((struct in_addr *)host->h_addr);
remotehost.sin_family = AF_INET;
remotehost.sin_port = htons(port);
irc = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(connect(irc, (struct sockaddr *)&remotehost, sizeof(struct sockaddr))==SOCKET_ERROR)
ExitProcess(0);
memset(aux, 0, sizeof(aux));
strcpy(aux,"NICK ");
strcat(aux, nick);
sendstr(aux);
strcpy(aux,"USER ");
strcat(aux, "guest la la :w t f");
sendstr(aux);
/*-----------*/
while (1)
getdata(irc);
return 0;
}
void sendstr(char str[150])
{
strcat(str,"\n");
send(irc, str, strlen(str), 0);
}
void getdata(int irc)
{
char aux[512];
char aux2[512];
char *s[5];
int i;
int incdata;
char data[BUF];
if ((incdata=recv(irc, data, BUF-1, 0)) == -1)
exit(0);
data[incdata] = '\0';
strncpy(aux2, data, sizeof(aux2)-1);
s[0] = strtok(data, " ");
for (i = 1; i < 5; i++) s[i] = strtok(NULL, " ");
if (strcmp("PING", s[0]) == 0)
{
sprintf(aux,"PONG %s\n",s[1]);
sendstr(aux);
}
else if (strcmp("376", s[1]) == 0)
{
strcpy(aux,"JOIN ");
sendstr(strcat(aux, channel));
}
}
Just found this on a "lost" folder... i'm not sure if it works...