From a528eb3ab579940426c717dcdb00cc759492d846 Mon Sep 17 00:00:00 2001 From: avinal <185067@nith.ac.in> Date: Wed, 10 Feb 2021 17:06:02 +0530 Subject: [PATCH] client file implemented --- computer_networks/lab/lab3/client.c | 73 +++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 computer_networks/lab/lab3/client.c diff --git a/computer_networks/lab/lab3/client.c b/computer_networks/lab/lab3/client.c new file mode 100644 index 0000000..def54bf --- /dev/null +++ b/computer_networks/lab/lab3/client.c @@ -0,0 +1,73 @@ +/** + * /mnt/z/my_git/sixth-semester/computer_networks/lab/lab3/client.c + * @file client.c + * @author Avinal Kumar + * @since February 10, 2021 + * + * Client implementation + */ + +#include +#include +#include +#include +#include + +int main() +{ + char buf[100]; + int k; + int sock_desc; + struct sockaddr_in client; + memset(&client, 0, sizeof(client)); + sock_desc = socket(AF_INET, SOCK_STREAM, 0); + + if (sock_desc == -1) + { + printf("Error in socket creation"); + exit(1); + } + + client.sin_family = AF_INET; + client.sin_addr.s_addr = inet_addr("127.0.0.1"); + //client.sin_addr.s_addr=INADDR_ANY; + client.sin_port = 3002; + + k = connect(sock_desc, (struct sockaddr *)&client, sizeof(client)); + if (k == -1) + { + printf("Error in connecting to server"); + exit(1); + } + + // image file size + printf("Getting image size ...\n"); + FILE *data; + data = fopen("SocialMedia.jpg", "r"); + int data_size = 0; + fseek(data, 0, SEEK_END); + data_size = ftell(data); + fseek(data, 0, SEEK_SET); + sleep(1); + printf("Sending image size ...\n"); + write(sock_desc, &data_size, sizeof(data_size)); + sleep(1); + + // sending + printf("Sending image, please wait ...\n"); + char send_buffer[data_size]; + sleep(2); + int nb = fread(send_buffer, 1, sizeof(send_buffer), data); + while (!feof(data)) + { + write(sock_desc, send_buffer, nb); + nb = fread(send_buffer, 1, sizeof(send_buffer), data); + } + + sleep(2); + printf("Image sent successfully !!"); + + close(sock_desc); + exit(0); + return 0; +} \ No newline at end of file