First, replace by 'Greater than' and 'Smaller than' 'Angle Brackets' then Run the program.
As 'Angle Brackets' are not allowed in the Description.
==========================================================================
#include (Put Less than Angle bracket)stdio.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)netdb.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)sys/socket.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)sys/types.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)netinet/in.h(Put Greater than Angle Bracket)
/* Creates a datagram server. The port number is passed as an argument.This server runs forever */
void error(char *msg)
{
perror(msg);
exit(0);
}
int main(int argc, char *argv[])
{
int sock, length, fromlen, n;
struct sockaddr_in server;
struct sockaddr_in from;
char buf[1024];
if (argc (Put Less than Angle bracket) 2)
{
fprintf(stderr, "ERROR, no port provided\n");
exit(0);
}
sock=socket(AF_INET, SOCK_DGRAM, 0);
if (sock (Put Less than Angle bracket) 0)
{
error("Opening socket");
}
length = sizeof(server);
bzero(&server,length);
server.sin_family=AF_INET;
server.sin_addr.s_addr=INADDR_ANY;
server.sin_port=htons(atoi(argv[1]));
if (bind(sock,(struct sockaddr *)&server,length)(Put Less than Angle bracket)0)
{
error("binding");
}
fromlen = sizeof(struct sockaddr_in);
while (1)
{
n = recvfrom(sock,buf,1024,0,(struct sockaddr *)&from,&fromlen);
if (n (Put Less than Angle bracket) 0)
{
error("recvfrom");
}
write(1,"Received a datagram: ",21);
write(1,buf,n);
n = sendto(sock,"Got your message\n",17,0,(struct sockaddr *)&from,fromlen);
if (n (Put Less than Angle bracket) 0)
{
error("sendto");
}
}
}
============================================================================
#include (Put Less than Angle bracket)stdio.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)stdlib.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)string.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)sys/socket.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)sys/types.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)netdb.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)netinet/in.h(Put Greater than Angle Bracket)
#include (Put Less than Angle bracket)arpa/inet.h(Put Greater than Angle Bracket)
/* UDP client in the internet domain */
void error(char *msg)
{
perror(msg);
exit(0);
}
int main(int argc, char *argv[])
{
int sock, length, n;
struct sockaddr_in server, from;
struct hostent *hp;
char buffer[256];
if (argc != 3)
{
printf("Usage: server port\n");
exit(1);
}
sock= socket(AF_INET, SOCK_DGRAM, 0);
if(sock(Put Less than Angle bracket)0)
{
error("socket");
}
server.sin_family =AF_INET;
hp=gethostbyname(argv[1]);
if(hp==0)
{
error("Unknown Host");
}
bcopy((char *)hp-(Put Greater than Angle Bracket)h_addr,(char *)&server.sin_addr,hp-(Put Greater than Angle Bracket)h_length);
server.sin_port = htons(atoi(argv[2]));
length=sizeof(struct sockaddr_in);
printf("Please enter the message: ");
bzero(buffer,256);
fgets(buffer,255,stdin);
n=sendto(sock,buffer,strlen(buffer),0,&server,length);
if (n (Put Less than Angle bracket) 0)
{
error("Sendto");
}
n = recvfrom(sock,buffer,256,0,&from, &length);
if (n (Put Less than Angle bracket) 0)
{
error("recvfrom");
}
write(1,"Got an ack: ",12);
write(1,buffer,n);
}
On this page of the site you can watch the video online UDP SERVER CLIENT LINUX Network Programming in C Complete Code Function Explanation with a duration of hours minute second in good quality, which was uploaded by the user LearnEveryone 28 June 2020, share the link with friends and acquaintances, this video has already been watched 11,210 times on youtube and it was liked by 154 viewers. Enjoy your viewing!