/** *@return retorna o valor do codigo do erro caso tenha. Se for 0, nao houve nenhum erro. *Funcao principal do programa, onde faz tambem uma listagem dos valores guardados na estrutura. */ int main() { tarefa *tar = (tarefa *)malloc(sizeof(tarefa)); int tamanho = lerFicheiro(&tar); if(tamanho != 0) menu(tar, tamanho); return 0; }
int main (int argc, char const *argv[]) { int fd; FILE *fp; struct sockaddr_in addr, client_addr; int client_addr_size; bzero((void *) &addr, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = htonl(INADDR_ANY); addr.sin_port = htons(SERVER_PORT); signal(SIGINT, catch_ctrlc); //getMailFile(); lerFicheiro(); if ( (fd = socket(AF_INET, SOCK_STREAM, 0)) < 0){ perror("na funcao socket"); } if ( bind(fd,(struct sockaddr*)&addr,sizeof(addr)) < 0){ perror("na funcao bind"); } if( listen(fd, 5) < 0){ perror("na funcao listen"); } //second_server_connection(); while (1) { client_addr_size = sizeof(client_addr); client = accept(fd,(struct sockaddr *)&client_addr,(socklen_t*)&client_addr_size); if (client > 0) { if(fork() == 0){ close(fd); autentication_server(client); } close(client); } } return 0; }