any ideas what I'm doing wrong?
Code: Select all
#pragma comment(lib, "wsock32.lib ")
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <string.h>
int main(){
char buf1[1200];
char nick[] = "iarkeytest";
char text1[4096];
char buf[4096];
int n;
WSAData wsdata;
WORD wsver=MAKEWORD(2, 0);
int nret=WSAStartup(wsver, &wsdata);
if(nret != 0){
std::cout<<"Startup failed, error code: "<<WSAGetLastError();
WSACleanup();
return -1;
}
printf("Init success\n");
SOCKET kSock=socket(AF_INET, SOCK_STREAM, 0);
if(kSock == INVALID_SOCKET){
printf("Socket init failed");
return -1;
}
printf("Socket initialized\n");
sockaddr_in sin;
sin.sin_port=htons(6667);
sin.sin_addr.s_addr=inet_addr("127.0.0.1");
sin.sin_family=AF_INET;
if(connect(kSock,(sockaddr*)&sin, sizeof(sin)) == SOCKET_ERROR){
std::cout<<"Connect failed, error: "<<WSAGetLastError();
WSACleanup();
return -1;
}
printf("Connection successful!\n\n");
n = recv(kSock, buf1, sizeof(buf1)-1, 0);
if ( n > 0 ) {
buf1[n] = '\0';
printf("%s\n",buf1);
} else {
printf("No Data\n");
}
memset(text1,0,255);
sprintf(text1, "NICK %s\r\nUSER %s 0 * :%s\r\n\0", nick, nick, nick);
send(kSock, text1, strlen(text1), 0);
printf(">>Client: %s\n",text1);
Sleep(100);
memset(text1,0,255);
sprintf(text1,"JOIN #lobby\r\n");
send(kSock, text1, sizeof(text1), 0);
printf(">>Client: %s\n",text1);
memset(text1,0,255);
sprintf(text1,"PRIVMSG #lobby :Test Message\r\n");
send(kSock,text1,sizeof(text1),0);
printf(">>Client: %s\n",text1);
while (1) {
memset(buf,0,255);
recv( kSock,buf,255,0);
if ( strstr(buf,"PING") != 0 ) {
printf("Server sent PING\n");
send(kSock,"PONG :\r\n",6,0);
printf("Replying with PONG\n");
}
memset(buf,0,255);
}
}
