UDP SOCKET

Page 1 2 3 4 5 6 7 8 9
SOURCE CODE:

UDP SERVER:
#include “stdio.h “
#include “netinet/in.h “
#include “stdio.h “
#include “sys/types.h “
#include “errno.h “
#include “sys/socket.h “
#define MAX 100
#define PORT 8080
int main()
{
char buf[MAX]={" "};
int i,id,t,b,l,n;
socklen_t ct;
struct sockaddr_in server,client;
id=socket(AF_INET,SOCK_DGRAM,0);
if(id < 0)
{
write(1,"socket error",17);
_Exit(1);
}
server.sin_family=AF_INET;
server.sin_port=htons(PORT);
server.sin_addr.s_addr=inet_addr("170.100.40.180");
b=bind(id,(struct sockaddr *)&server,sizeof(server));
if(b < 0)
{
write(1,"bind error",10);
_Exit(0);
}
while(1)
{
ct=sizeof(client);
n=recvfrom(id,buf,sizeof(buf),0,(struct sockaddr *)&client,&ct);
if(n < 0)
{
write(1,"receive error",13);
_Exit(0);
}
if(strcmp(buf,"end",2)==0)
{
_Exit(0);
}
printf("\nMESSAGE FROM CLIENT: %s",buf);
printf("\nCLIENT PORT NUMBER: %d",ntohs(client.sin_port));
printf("CLIENT IP ADDRESS: %s",inet_ntoa(client.sin_addr));
}
return 0;
}


UDP CLIENT:
#include “stdio.h “
#include “unistd.h “
#include “sys/types.h “
#include “sys/socket.h “
#include “errno.h “
#include “fcntl.h “
#include “netinet/in.h “
#define MAX 100
#define PORT 8080
int main()
{
char buf[MAX]={""};
int i,sd,t,b,l,ct,n;
struct sockaddr_in server,client;
socklen_t len;
sd=socket(AF_INET,SOCK_DGRAM,0);
if(sd < 0)
{
write(1,"Socket error",17);
_exit(1);
}
client.sin_family=AF_INET;
client.sin_port=htons(PORT);
client.sin_addr.s_addr=inet_addr("170.100.40.25");
server.sin_family=AF_INET;
server.sin_addr.s_addr=inet_addr("170.100.40.180");
server.sin_port=htons((short)8080);
while(1)
{
write(1,"Enter The Data: ",17);
n=read(0,buf,MAX);
len=sizeof(server);
l=sendto(sd,buf,n,0,(struct sockaddr *)&server,len);
if(strcmp(buf,"end",23)==0)
{
_exit(1);
}
if(l < 0)
{
printf("Error Sending");
_exit(0);
}
}
return 0;
}
OUTPUT:
SERVER:
[NPLab@localhost ~]$ cc udpserver21.c
[NPLab@localhost ~]$ ./a.out

MESSAGE FROM CLIENT: hi
CLIENT PORT NUMBER: 32822
CLIENT IP ADDRESS: 170.100.40.180

MESSAGE FROM CLIENT: hello
CLIENT PORT NUMBER: 32822
CLIENT IP ADDRESS: 170.100.40.180

CLIENT:
[NPLab@localhost ~]$ cc udpclient21.c
[NPLab@localhost ~]$ ./a.out
Enter The Data: hi
Enter The Data: hello
Enter The Data: end
[NPLab@localhost ~]$