Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
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);
    }
}