![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
At this point, all the socket apparatus is ready to be put in place on the server side. The following brings together that apparatus by way of summary:
/* Server Program */ #include#include #include #include #include #include double doubling_time (double r) { return 72.0 / r; } main ( ) { int socket_number, new_socket_number, client_size; struct sockaddr_in server_addr, client_addr; FILE *fm_client, *to_client; server_addr.sin_addr.s_addr = inet_addr ("128.52.36.4"); server_addr.sin_family = AF_INET; server_addr.sin_port = 6022; socket_number = socket (AF_INET, SOCK_STREAM, 0); bind (socket_number, (struct sockaddr *) &server_addr, sizeof (server_addr)); listen (socket_number, 5); new_socket_number = accept (socket_number, (struct sockaddr *) &client_addr, &client_size); fm_client = (FILE *) fdopen (new_socket_number, "r"); to_client = (FILE *) fdopen (new_socket_number, "w"); while (1) { double input; fscanf (fm_client, "%lf", &input); fprintf (to_client, "%f\n", doubling_time(input)); fflush (to_client); } }