From c2241c200bbfa54862a3f68802718f623471e947 Mon Sep 17 00:00:00 2001 From: Vinicius Silva Date: Wed, 6 Sep 2023 21:15:45 -0300 Subject: [PATCH] Fix socket erros --- .vscode/settings.json | 6 ++++- client | Bin 17120 -> 17160 bytes client.c | 56 ++++++++++++++++++++---------------------- server | Bin 17008 -> 17024 bytes server.c | 42 +++++++++++++++---------------- 5 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index d4dcb35..b867064 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,10 @@ "unistd.h": "c", "stdio.h": "c", "in.h": "c", - "time.h": "c" + "time.h": "c", + "signal.h": "c", + "string.h": "c", + "stdlib.h": "c", + "inet.h": "c" } } \ No newline at end of file diff --git a/client b/client index 23d99befb3a73710bd172a5fa7af3f856272aec8..545f7898454b7086b4a9612e16f1bc7664428eb8 100755 GIT binary patch literal 17160 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 literal 17120 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 Y6LPt%OT*QtB1JQART`K141BEkPr=iA9{>OV diff --git a/client.c b/client.c index 92a318f..1d9311f 100644 --- a/client.c +++ b/client.c @@ -10,7 +10,7 @@ #define TRUE 1 #define FALSE 0 #define HOST_IP "127.0.0.1" // IPV4 loopback address -#define SERVER_PORT 8179 // Server port +#define SERVER_PORT 8294 // Server port #define PORT_USED_CODE 256 #define SOCKET_ERROR_CODE -1 // Socket create, Connection server, Receive buffer to server code error #define SYSTEM_EXIT_FAILED 1 // Operating System program error response @@ -82,37 +82,27 @@ int is_server_down() system(full_command) == PORT_USED_CODE ? FALSE : TRUE; } + int receive_buffer(int client_socket, int buffer_size) { - if(!is_server_down()) + int bytes_read; + + char received_buffer[buffer_size]; + + printf("[CLIENT] - Receiving [PONG]\n"); + + while((bytes_read = recv(client_socket, received_buffer, buffer_size, 0)) > 0) { - char received_buffer[buffer_size]; // Buffer will be send by server to client - int bytes_read = recv(client_socket, received_buffer, sizeof(received_buffer), 0); - if(bytes_read == SOCKET_ERROR_CODE) - { - perror("Receive server message error!"); + received_buffer[bytes_read] = '\0'; - }else - { - received_buffer[bytes_read] = '\0'; // Buffer string finalized with '\0', - - float size_in_kb = ((float)buffer_size/(float)KB); - - if(buffer_size >= KB){ - printf("[CLIENT] - Receive [PONG] %dKB", (buffer_size/KB)); - }else{ - - printf("[CLIENT] - Receive [PONG] %fKB", ((float)buffer_size/(float)KB)); - } + printf("VALUE RECEIVED [ %s ]", received_buffer); - printf("\n[CLIENT] - Server message received successfully!\n\n"); + printf("\n[CLIENT] - Server message received successfully!"); - } - }else{ - printf("Server is down!"); - exit(SYSTEM_EXIT_SUCCESS); + return 0; } + return 1; } void send_buffer(int client_socket, char sended_buffer[], int buffer_size) @@ -126,8 +116,8 @@ void send_buffer(int client_socket, char sended_buffer[], int buffer_size) printf("[CLIENT] - Sending [PING] %fKB\n\n", ((float)buffer_size/(float)KB)); } - send(client_socket, sended_buffer, strlen(sended_buffer), 0); - receive_buffer(client_socket, buffer_size); + send(client_socket, sended_buffer, buffer_size, 0); + } @@ -146,8 +136,10 @@ void socket_listen(int client_socket, char sended_buffer[], int buffer_size) exit(SYSTEM_EXIT_FAILED); } - send_buffer(client_socket, sended_buffer, buffer_size); - + while(TRUE){ + send_buffer(client_socket, sended_buffer, buffer_size); + receive_buffer(client_socket, buffer_size); + } } int main(int argc, char** argv) @@ -156,7 +148,11 @@ int main(int argc, char** argv) int buffer_size = (int)atoi(argv[1]); char sended_buffer[buffer_size]; - memset(&sended_buffer, '0', buffer_size); + + for(int i = 0; i < buffer_size; i++) + { + sended_buffer[i] = '0'; + } int client_socket = init_socket(); @@ -175,7 +171,7 @@ int main(int argc, char** argv) double elapsed_time_ms = (double)(end - start) * 1000.0 / CLOCKS_PER_SEC; - printf("Time: %.2f ms\n\n", elapsed_time_ms); + printf("\nTime: %.2f ms\n\n", elapsed_time_ms); printf("==================================================================\n"); diff --git a/server b/server index c1672122067af03b35ed75c0383da178aa2706eb..3987619e2724762e5e50b4aa81b78f151b64b30d 100755 GIT binary patch literal 17024 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 literal 17008 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 RMT)-mkkVM-G4QbBKL8xZ3jY8A diff --git a/server.c b/server.c index 382efd3..350e64b 100644 --- a/server.c +++ b/server.c @@ -9,7 +9,7 @@ #define FALSE 0 #define TRUE 1 #define HOST_IP "127.0.0.1" // IPV4 loopback address -#define SERVER_PORT 8179 // Server port +#define SERVER_PORT 8294 // Server port #define MAX_CONNECTIONS 2 // Num max client connected simultaneously #define SOCKET_ERROR_CODE -1 // Socket create, Connection server, Receive buffer to server code error #define SYSTEM_EXIT_FAILED 1 // Operating System program error response @@ -43,7 +43,7 @@ socket_address config_server_address() return server_address; } -void bind_server(int server_socket, socket_address server_address) +void bind_server(int server_socket, socket_address server_address, int buffer_size) { struct sockaddr *address = (struct sockaddr*)&server_address; @@ -76,36 +76,33 @@ int accept_connection(int client_socket, int server_socket, socket_address clien } -void send_buffer(int client_socket, char buffer[]) +void send_buffer(int client_socket, char buffer[], char buffer_size) { - printf("\n[SERVER] - Sending [PONG]\n\n"); - send(client_socket, buffer, strlen(buffer), 0); + printf("\n[SERVER] - Sending [PONG]\n"); + send(client_socket, buffer, buffer_size, 0); } -void receive_buffer(int client_socket, char buffer[], int buffer_size) +int receive_buffer(int client_socket, char buffer[], int buffer_size) { int bytes_read; - int lock = FALSE; char received_buffer[buffer_size]; printf("[SERVER] - Receiving [PING]\n"); - while((bytes_read = recv(client_socket, received_buffer, sizeof(received_buffer), 0)) > 0) + while((bytes_read = recv(client_socket, received_buffer, buffer_size, 0)) > 0) { - if(!lock){ - lock = TRUE; - received_buffer[bytes_read] = '\0'; - printf("[SERVER] - Client message received successfully!"); + received_buffer[bytes_read] = '\0'; - send_buffer(client_socket, received_buffer); - } + printf("VALUE RECEIVED [ %s ]", received_buffer); + + printf("\n[SERVER] - Client message received successfully!"); + + send_buffer(client_socket, received_buffer, buffer_size); } - - } void controlc_handler() @@ -131,14 +128,17 @@ void server_listen(int client_socket, int server_socket, socket_address client_a //{ // perror("Signal create error!"); // exit(SYSTEM_EXIT_FAILED); - //} + //} + + char received_buffer[buffer_size]; - //while(TRUE) - //{ + + while(TRUE) + { client_socket = accept_connection(client_socket, server_socket, client_address, client_addr_len); receive_buffer(client_socket, buffer, buffer_size); - //} + } } @@ -158,7 +158,7 @@ int main(int argc, char** argv) server_address = config_server_address(); - bind_server(server_socket, server_address); + bind_server(server_socket, server_address, buffer_size); server_listen(client_socket, server_socket, client_address, client_addr_len, buffer, buffer_size); }