Code:
#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
char Heap[1000];
int main(int argc, char *argv[])
{
int d;
SOCKET s;
struct sockaddr_in A;
WSADATA ws;
char Buff[1000];
char aA[13] = "NICK Evander\n";
char aB[53] = "USER none \"none.com\" \"irc.expression-chat.net\" :none\n";
char aC[4] = "PING";
char aD[28] = "PONG :........ing peice of ........\n";
char aE[12] = "JOIN #help\n";
char aG[17] = "USERHOST Evander\n";
d=WSAStartup(0x101,&ws);
s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
A.sin_family=AF_INET;
A.sin_port=htons(6667);
A.sin_addr.s_addr= inet_addr("208.53.146.211");
d=connect(s,(struct sockaddr*)&A,sizeof(A));
send(s,aA,sizeof(aA),0);
recv(s, Heap, sizeof(Heap), 0);
printf("Send: %s", aA);
send(s,aB,sizeof(aB),0);
recv(s, Heap, sizeof(Heap), 0);
printf("Send: %s",aB);
//send(s,aD,sizeof(aD),0);
//recv(s, Heap, sizeof(Heap), 0);
//printf("Send: %s",aD);
send(s,aE,sizeof(aE),0);
recv(s, Heap, sizeof(Heap), 0);
printf("Send: %s",aE);
//send(s,aG,sizeof(aG),0);
//recv(s, Heap, sizeof(Heap), 0); //this is here for some reason
int E = 1;
int B;
while (E != 0)
{
E = recv(s, Heap, sizeof(Heap), 0);
if (E >= 0)
{
printf("Recv %s\n", Heap);
B = memcmp(Heap, aC, 4);
if (B == 0)
{
send(s,aD,sizeof(aD),0);
printf("Send %s", aD);
HeapClear();
}
else HeapClear();
}
}
system("PAUSE");
closesocket(s);
WSACleanup();
return 0;
}
int HeapClear()
{
int i;
for(i=0; i <= 1000; ++i)
{
Heap[i] = 0;
}
i = 0;
}