#include #include #include #include #include #include #include #include #include int main(int argc, char ** argv){ struct sockaddr_in sad; sad.sin_port = htons(1337); sad.sin_family = AF_INET; int skt = socket(AF_INET, SOCK_STREAM, 0); struct hostent* entry = gethostbyname("localhost"); struct in_addr **addr_list = (struct in_addr**)entry->h_addr_list; struct in_addr *c_addr = addr_list[0]; sad.sin_addr = *c_addr; connect(skt, (struct sockaddr*)&sad, sizeof(struct sockaddr_in)); char message[20] = "MODU"; int64_t a = 80000, b = 512; memcpy(message + 4, &a, 8); memcpy(message + 12, &b, 8); write(skt, message, 20); read(skt, message, 12); memcpy(&a, message + 4, 8); message[4] = 0; printf("Server replied %s : %ld\n", message, a); // We'll avoid memcpy write(skt, "DIVI", 4); write(skt, &a, 8); write(skt, &b, 8); read(skt, message, 12); memcpy(&a, message + 4, 8); message[4] = 0; printf("Server replied %s : %ld", message, a); close(skt); return 0; }