From c91b1d0f1fb983feae09f3c5f3cf634a8d4d6cc8 Mon Sep 17 00:00:00 2001 From: avinal <185067@nith.ac.in> Date: Wed, 27 Jan 2021 18:03:42 +0530 Subject: [PATCH] TCP client added --- computer_networks/lab/lab1/TCP_client.c | 55 +++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 computer_networks/lab/lab1/TCP_client.c diff --git a/computer_networks/lab/lab1/TCP_client.c b/computer_networks/lab/lab1/TCP_client.c new file mode 100644 index 0000000..db1a91b --- /dev/null +++ b/computer_networks/lab/lab1/TCP_client.c @@ -0,0 +1,55 @@ +/** + * /mnt/z/my_git/sixth-semester/computer_networks/lab/lab1/TCP_client.c + * @author Avinal Kumar + * @since January 27, 2021 + * Roll Number - 185067 + * + * LAB 1 +*/ + +// Client side C/C++ program to demonstrate Socket programming +#include +#include +#include +#include +#include +#define PORT 2047 // Q1: previously 8080 + +int main(int argc, char const *argv[]) +{ + struct sockaddr_in address; + int sock = 0, valread; + struct sockaddr_in serv_addr; + char *hello = "TCP Client: Hello this message has been changed. Did you get it?"; + char buffer[4096] = {0}; // Q4: changed to 4096 + if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) + { + printf("\n Socket creation error \n"); + return -1; + } + + memset(&serv_addr, '0', sizeof(serv_addr)); + + serv_addr.sin_family = AF_INET; + serv_addr.sin_port = htons(PORT); + serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // Q3: changed to localhost + + // Convert IPv4 and IPv6 addresses from text to binary form + // This binds the client to localhost + /*if(inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr)<=0) + { + printf("\nInvalid address/ Address not supported \n"); + return -1; + } */ + + if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) + { + printf("\nConnection Failed \n"); + return -1; + } + send(sock, hello, strlen(hello), 0); + printf("New message sent\n"); + valread = read(sock, buffer, 4096); // Q4: changed to 4096 + printf("%s\n", buffer); + return 0; +}