#include #include #include #include #include #include #include #include #include int main(int argc, char ** argv){ int s; struct addrinfo hints; struct addrinfo *result; memset(&hints, 0, sizeof(hints)); hints.ai_family = AF_INET; hints.ai_socktype = SOCK_STREAM; s = getaddrinfo(argv[1], argv[2], &hints, &result); if (s != 0) { fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(s)); exit(EXIT_FAILURE); } int skt = socket(result->ai_family, result->ai_socktype, 0); connect(skt, result->ai_addr, result->ai_addrlen); freeaddrinfo(result); printf("Enter a squirrel weight in grams: "); uint32_t weight; scanf("%d", &weight); uint8_t type = 78; write(skt, &type, 1); write(skt, &weight, 4); read(skt, &type, 1); type = 81; write(skt, &type, 1); read(skt, &type, 1); uint32_t total_weight, total_squirrels; read(skt, &total_squirrels, 4); read(skt, &total_weight, 4); printf("Total Squirrels: %d\nTotal Weight: %d\n", total_squirrels, total_weight); close(skt); return 0; }