From 0e7ee12d4c8dac657ca18e67aaa2c9c8d534796b Mon Sep 17 00:00:00 2001 From: avinal <185067@nith.ac.in> Date: Wed, 27 Jan 2021 18:03:13 +0530 Subject: [PATCH] UDP client added --- computer_networks/lab/lab1/UDPclient.c | 60 ++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 computer_networks/lab/lab1/UDPclient.c diff --git a/computer_networks/lab/lab1/UDPclient.c b/computer_networks/lab/lab1/UDPclient.c new file mode 100644 index 0000000..fda4135 --- /dev/null +++ b/computer_networks/lab/lab1/UDPclient.c @@ -0,0 +1,60 @@ +/** + * /mnt/z/my_git/sixth-semester/computer_networks/lab/lab1/UDPclient.c + * @author Avinal Kumar + * @since January 27, 2021 + * Roll Number - 185067 + * + * LAB 1 +*/ + +// Client side implementation of UDP client-server model +#include +#include +#include +#include +#include +#include +#include +#include + +#define PORT 2047 // Q1: previously 8080 +#define MAXLINE 4096 // Q4: changed to 4096 + +// Driver code +int main() +{ + int sockfd; + char buffer[MAXLINE]; + char *hello = "UDP Client: Hello this message has been changed. Did you get it?"; + struct sockaddr_in servaddr; + + // Creating socket file descriptor + if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) + { + perror("socket creation failed"); + exit(EXIT_FAILURE); + } + + memset(&servaddr, 0, sizeof(servaddr)); + + // Filling server information + servaddr.sin_family = AF_INET; + servaddr.sin_port = htons(PORT); + servaddr.sin_addr.s_addr = inet_addr("127.0.0.1"); // Q3: changed to localhost + + int n, len; + + sendto(sockfd, (const char *)hello, strlen(hello), + MSG_CONFIRM, (const struct sockaddr *)&servaddr, + sizeof(servaddr)); + printf("New message sent.\n"); + + n = recvfrom(sockfd, (char *)buffer, MAXLINE, + MSG_WAITALL, (struct sockaddr *)&servaddr, + &len); + buffer[n] = '\0'; + printf("Server : %s\n", buffer); + + close(sockfd); + return 0; +} \ No newline at end of file