Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

EXPT NO: DATE: CLIENT-SERVER CHAT PROGRAM USING UDP SERVER PROGRAM #include<string.h> #include<stdio.h> #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.

h> int main() { int sock,name_len,client_add_size; char buff[20]; struct sockaddr_in server,client; sock=socket(AF_INET,SOCK_DGRAM,0); if(sock==-1) { perror("\n socket is not created"); } else perror("\n socket created successfully"); server.sin_port=0; server.sin_addr.s_addr=INADDR_ANY; if(bind(sock,(struct sockaddr *)&server,sizeof(server))<0) { perror("\n error in binding server"); } name_len=sizeof(server); if(getsockname(sock,(struct sockaddr *)&server,(socklen_t *)&name_len)<0) { perror("\n error getting in getsockname()"); } printf("\n the assigned port is %d",htons(server.sin_port)); client_add_size=sizeof(client); printf("\n waiting for message to arrive"); if(recvfrom(sock,buff,sizeof(buff),0,(struct sockaddr *)NULL,NULL)<0) { perror("\n error in recvfrom()" ); } printf("\n data has been received from socket"); printf("\n %s",buff); return 0; } CLIENT PROGRAM #include<stdio.h> #include<stdlib.h> #include<sys/socket.h> #include<netinet/in.h> #include<string.h>

NAME: AMISHA K REG NO: 31010205003

EXPT NO: DATE: #include<arpa/inet.h> int main(int argc, char **argv) { int sock; char string[100],buf[32]; int port; struct sockaddr_in server; port=htons(atoi(argv[2])); printf("\ncreating datagram socket"); sock=socket(AF_INET,SOCK_DGRAM,0); if(sock==-1) perror("\nsocket not created"); else perror("\nsocket created successfully\n"); server.sin_port=port; server.sin_addr.s_addr=inet_addr(argv[1]); printf("\n enter data to be sent"); scanf("%s",string); strcpy(buf,string); printf("\n sending data to the socket\n"); sendto(sock,buf,(strlen(buf)+1),0,(struct sockaddr*)&server,sizeof(server)); printf("\ndata has been sent to the socket"); return 0; } OUTPUT SERVER [beit19@localhost har]$ cc udps.c [beit19@localhost har]$ ./a.out socket created successfully: Success the assigned port is 38726 waiting for message to arrive data has been received from socket hi.. CLIENT [beit03@localhost ~]$ cc udc.c [beit03@localhost ~]$ ./a.out 172.17.1.100 38726 socket created successfully : Success creating datagram socket enter data to be sent hi.. sending data to the socket data has been sent to the socket

NAME: AMISHA K REG NO: 31010205003

You might also like