hmm. I get a segmentation fault somewhere in here:
Code:
while(1){
memset(buf, '\0', MAXDATASIZE-1);
if ((numbytes=recv(sockfd, buf, MAXDATASIZE-1, 0)) == -1) {
perror("recv");
exit(1);
}
buf[numbytes] = '\0';
if (recvParser(buf, sockfd) == 0) {
printf("%s",buf);
}
}
Code:
int recvParser(char buf[MAXDATASIZE], int sockfd) {
char temp[MAXDATASIZE];
char *bpt;
temp[0] = '\0';
if (buf[0] != ':') {
bpt = strchr(buf, ':');
if (strstr(buf, "PING") >= 0) {
cout << bpt << endl;
strcat(temp, "PONG ");
strcat(temp, bpt);
if (send(gSock_fd, temp, strlen(temp)-1, 0) == -1) {
perror("send");
return -1;
}
}
} else {
}
return 0;
}
~Inquirer