// programa servidor7_2.cpp - Servidor que lê um inteiro via protocolo UDP // Protocolo UDP #include #include #include #include #include #include #include int main( ) { int server_sockfd, client_sockfd; size_t server_len; socklen_t client_len; struct sockaddr_in server_address; struct sockaddr_in client_address; unsigned short porta = 9734; unlink("server_socket"); // remocao de socket antigo if ( (server_sockfd = socket(AF_INET, SOCK_DGRAM, 0) ) < 0 ) // cria um novo socket { printf(" Houve erro na ebertura do socket "); exit(1); } server_address.sin_family = AF_INET; server_address.sin_addr.s_addr = htonl(INADDR_ANY); server_address.sin_port = htons(porta); server_len = sizeof(server_address); if( bind(server_sockfd, (struct sockaddr *) &server_address, server_len) < 0 ) { perror("Houve error no Bind"); exit(1); } while(1){ int valor; printf("Servidor esperando ...\n"); client_len = sizeof(client_address); if(recvfrom(server_sockfd, &valor, sizeof(valor),0, (struct sockaddr *) &client_address, &client_len) < 0 ) { perror(" erro no RECVFROM( )"); exit(1); } printf(" Valor recebido foi = %d\n", valor); // close(server_sockfd); } }