int main(int argc,char *argv[]){ struct sockaddr_in servaddr; int conn_server = 0; char msg_send[DATABUFSIZE]; char msg_recv[DATABUFSIZE]; servaddr = create_server_addr(); while(1){ if((conn_server = connect_to_server(servaddr)) == -1) return 0; printf("Write data :"); scanf("%s",msg_send); send_msg(conn_server,msg_send); if(!strcmp("quit",msg_send)){ close(conn_server); break; }else{ get_data(conn_server,msg_recv); printf("server: %s\n", msg_recv); close(conn_server); } } return 0; }
int main(int argc, char *argv[]) { suppress_zombies(); struct sockaddr_in server_addr = create_server_addr(PORT); int listen_fd = create_listened_socket(server_addr); print_starting_message(server_addr); while (1) { struct sockaddr_in client_addr; socklen_t len = sizeof(client_addr); int connection_fd = safe_accept(listen_fd, (struct sockaddr *) &client_addr, &len); pid_t pid; if ((pid = fork()) == 0) { /* child */ close(listen_fd); server_main(connection_fd); close(connection_fd); exit(EXIT_SUCCESS); } /* parent */ close(connection_fd); } }