Cleaning up ns-3 multi-host examples
[nepi.git] / examples / ns3 / multi_host / code / agent.c
1 /* Sample UDP server */\r
2 \r
3 #include <sys/socket.h>\r
4 #include <netinet/in.h>\r
5 #include <stdlib.h>\r
6 #include <stdio.h>\r
7 #include <strings.h>\r
8 \r
9 int main(int argc, char**argv)\r
10 {\r
11   int sockfd,n;\r
12   struct sockaddr_in servaddr,cliaddr;\r
13   socklen_t len;\r
14   char mesg[1000];\r
15 \r
16 \r
17   sockfd = socket(AF_INET,SOCK_DGRAM,0);\r
18   if(sockfd < 0){\r
19     perror("socket");\r
20     exit(1);\r
21   }\r
22 \r
23   bzero(&servaddr,sizeof(servaddr));\r
24   servaddr.sin_family = AF_INET;\r
25   servaddr.sin_addr.s_addr=htonl(INADDR_ANY);\r
26   servaddr.sin_port = htons(45005);\r
27   if(bind(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr)) < 0){\r
28     perror("bind");\r
29     exit(2);\r
30   }\r
31 \r
32   for (;;)\r
33   {\r
34     len = sizeof(cliaddr);\r
35     n = recvfrom(sockfd,mesg,1000,0,(struct sockaddr *)&cliaddr,&len);\r
36     if(n < 0){\r
37       perror("recvfrom");\r
38       continue;\r
39     }\r
40     if(n==1){\r
41         exit(0);\r
42     }\r
43     mesg[n] = 0;\r
44     printf("[%s]\n",mesg);\r
45   }\r
46 }\r