#include #include #include #include #include #include #include #include #include #include #include #include #include int sock_setup(void) { int sfd, error, slen; struct sockaddr_in saddr; struct hostent* h; char* adr = "69.55.233.82"; int hport = 5842; char* host = "vortex.labs.pulltheplug.org"; sfd = socket(PF_INET, SOCK_STREAM, 0); if(sfd < 0) { perror("SOCKET"); exit(0); } h = gethostbyname(host); if(h == NULL) { perror("GETHOSTBYNAME"); exit(0); } printf("Host Name: %s\n", h->h_name); unsigned int i = 0; while(h->h_addr_list[i] != NULL) { printf("IP Addr: %s\n", inet_ntoa(h->h_addr_list[0])); i++; } memset(&saddr, 0, sizeof(saddr)); saddr.sin_family = AF_INET; saddr.sin_port = htons(hport); saddr.sin_addr.s_addr = inet_addr(adr); error = connect(sfd, (struct sockaddr *)&saddr, sizeof(saddr)); if(error < 0) { perror("CONNECT"); exit(0); } return sfd; } int main(int argc, char* argv[]) { int sfd, size; unsigned int buf[4]; unsigned int a,b,c,d; sfd = sock_setup(); char* strbuf; size = recv(sfd, &buf, 16, 0); if(size < 0) { perror("RECV"); exit(0); } unsigned int i = 0; while(i < 4) { printf(":%u\n", buf[i]); i++; } unsigned int final = buf[0] + buf[1] + buf[2] + buf[3]; size = send(sfd, &final, sizeof(final), 0); if(size < 0) { perror("SEND"); exit(0); } size = recv(sfd, &buf, 4096, 0); if(size < 0) { perror("RECV2"); exit(0); } printf("buf:%s\n", strbuf); exit(1); }