UDP chat-server configuration for multi-client use
Client-side implementation of multi-client chat using UDP socket
// This code is written by Souvik Ghosh// Client side implementation of UDP client-server model#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#define PORT 8080#define MAXLINE 1024// Driver codeintmain(){int sockfd;char buffer[MAXLINE];struct sockaddr_in servaddr;// Creating socket file descriptorif((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 = INADDR_ANY;int n;
socklen_t len;while(1){printf("Enter message : ");fgets(buffer, MAXLINE,stdin);sendto(sockfd,(constchar*)buffer,strlen(buffer),
MSG_CONFIRM,(conststruct sockaddr *)&servaddr,sizeof(servaddr));printf("Message sent.\n");
n =recvfrom(sockfd,(char*)buffer, MAXLINE,
MSG_WAITALL,(struct sockaddr *)&servaddr,&len);
buffer[n]='\0';printf("Server : %s\n", buffer);if((strncmp(buffer,"bye",3))==0){printf("Client Exit...\n");break;}}}
Server-side implementation of multi-client chat using UDP socket
// This code is written by Souvik Ghosh// Server side implementation of UDP client-server model#include<stdio.h>#include<stdlib.h>#include<string.h>#include<unistd.h>#include<arpa/inet.h>#include<sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#define PORT 8080#define MAXLINE 1024// Driver codeintmain(){int sockfd;char buffer[MAXLINE];struct sockaddr_in servaddr, cliaddr;// Creating socket file descriptorif((sockfd =socket(AF_INET, SOCK_DGRAM,0))<0){perror("socket creation failed");exit(EXIT_FAILURE);}memset(&servaddr,0,sizeof(servaddr));memset(&cliaddr,0,sizeof(cliaddr));// Filling server information
servaddr.sin_family = AF_INET;// IPv4
servaddr.sin_addr.s_addr = INADDR_ANY;
servaddr.sin_port =htons(PORT);// Bind the socket with the server addressif(bind(sockfd,(conststruct sockaddr *)&servaddr,sizeof(servaddr))<0){perror("bind failed");exit(EXIT_FAILURE);}int len, n;
len =sizeof(cliaddr);//len is value/resusltwhile(1){
n =recvfrom(sockfd,(char*)buffer, MAXLINE,
MSG_WAITALL,(struct sockaddr *)&cliaddr,&len);
buffer[n]='\0';printf("Client : %s\n", buffer);printf("Enter message : ");fgets(buffer, MAXLINE,stdin);sendto(sockfd,(constchar*)buffer,strlen(buffer),
MSG_CONFIRM,(conststruct sockaddr *)&cliaddr,
len);printf("message sent to client.\n");}return0;}
Unlock Success in Your MAKAUT Semester Exam with These Empowering Artificial Intelligence Suggestions! Elevate Your Learning Experience and Excel with Confidence.
Unlock Success in Your MAKAUT Semester Exam with These Empowering Mixed Signal Design Suggestions! Elevate Your Learning Experience and Excel with Confidence.
Unlock Success in Your MAKAUT Semester Exam with These Empowering Fiber Optic Communication Suggestions! Elevate Your Learning Experience and Excel with Confidence.
Unlock Success in Your MAKAUT Semester Exam with These Empowering Cyber Security Suggestions! Elevate Your Learning Experience and Excel with Confidence.
Transform your web design game with my CSS cheatsheet! Master the art of styling, dive into essential properties and selectors, and create visually stunning websites effortlessly. Whether…