#include #include #include #include #include #include int main(int argc, char ** argv){ struct sockaddr_in sad; sad.sin_port = htons(5141); sad.sin_addr.s_addr = INADDR_ANY; sad.sin_family = AF_INET; int skt = socket(AF_INET, SOCK_STREAM, 0); bind(skt, (struct sockaddr *)(&sad), sizeof(struct sockaddr_in)); listen(skt, 5); int client_fd; struct sockaddr_in client_address; socklen_t address_size = sizeof(struct sockaddr_in); for(;;){ client_fd = accept(skt, (struct sockaddr *)(&client_address), &address_size); int32_t a, b; size_t readlen = recv(client_fd, &a, sizeof(int32_t), MSG_WAITALL); readlen += recv(client_fd, &b, sizeof(int32_t), MSG_WAITALL); printf("readlen = %lu\n", readlen); int32_t answer = a + b; write(client_fd, &answer, sizeof(answer)); printf("Connection made from address %s\n", inet_ntoa(client_address.sin_addr)); close(client_fd); } return 0; }