void messagereceive(void *sock) { char goatsecks[1000]; int x = 0; char* buffer; char* ptr; int BUFFER_LENGTH = 512; while(1) { x = recv((SOCKET)sock, goatsecks, 1000, 0); if(x > 0) { goatsecks[x] = 0; if(strstr((char *)goatsecks, "PING") != NULL) { ptr=strstr((char *)goatsecks, "PING")+6; sprintf(buffer, "PONG %s", ptr); send((SOCKET)sock, buffer, strlen(buffer),0 ); free(buffer); } } Sleep(10); } }