-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMain.c
61 lines (48 loc) · 1.83 KB
/
Main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <stdbool.h>
#include <time.h>
#include <pthread.h>
#include <omp.h>
// bibliotecas para sockets
//#include <netdb.h> as bibliotecas abaixo substitui essa melhor
#include <sys/types.h> // AF_INET, SOCK_STREAM
#include <sys/socket.h> // socket(), connect()
#include <netinet/in.h> // struct sockaddr_in
#include <arpa/inet.h> // htons(), inet_addr()
#include <unistd.h> // close()
#include "Server.h"
#include "Client.h"
#define LEN 4096
void manual();
int main(int argc, char *argv[]){
//ponteiro para struct que armazena data e hora
struct tm *data_hora_atual;
//variável do tipo time_t para armazenar o tempo em segundos
time_t segundos;
//obtendo o tempo em segundos
time(&segundos);
//para converter de segundos para o tempo local utilizamos a função localtime
data_hora_atual = localtime(&segundos);
//para acessar os membros de uma struct usando o ponteiro utilizamos o operador ->
printf("\nRelógio -> %d:%d:%d\n",data_hora_atual->tm_hour, data_hora_atual->tm_min, data_hora_atual->tm_sec);//hora minuto e segundo
if (argc==4 && !strcmp("--server",argv[1]) && !strcmp("-p",argv[2])){
int porta = atoi(argv[3]);
server(porta);
}
else if (argc==5 && !strcmp("--client",argv[1]) && !strcmp("-p",argv[2])){
int porta = atoi(argv[3]);
cliente(porta , argv[4]);
}
else{
manual();
}
return 0;
}
//---------------------------------------------------------------------------------------------------------------------------------------------
void manual(){
printf("Exemplo de como usar como servidor -> ./main --server -p <PORT>\n");
printf("Exemplo de como usar como cliente -> ./main --client -p <PORT> <IP>\n");
}