tizen 2.3 release
[kernel/api/system-resource.git] / src / utils / udp-server.c
1 #include <arpa/inet.h>
2 #include <netinet/in.h>
3 #include <stdlib.h>
4 #include <stdio.h>
5 #include <sys/types.h>
6 #include <sys/socket.h>
7 #include <unistd.h>
8
9 #include "udp-common.h"
10
11 int main(void)
12 {
13         struct sockaddr_in local_address, remote_address;
14         int i;
15         socklen_t slen = sizeof(struct sockaddr_in);
16         char buf[BUF_SIZE];
17         int s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
18
19         if (s == -1) {
20                 perror("socket");
21                 exit(1);
22         }
23
24         prepare_address(AF_INET, PORT, &local_address);
25         local_address.sin_addr.s_addr = htonl(INADDR_ANY);
26         if (bind(s, (struct sockaddr *)(&local_address),
27                 sizeof(struct sockaddr_in)) == -1) {
28                 perror("bind");
29                 exit(1);
30         }
31
32         for (i = 0; i < PACKET_NUMBER; i++) {
33                 if (recvfrom(s, buf, BUF_SIZE, 0,
34                         (struct sockaddr *)&remote_address, &slen) == -1) {
35                         perror("recvfrom()");
36                         exit(1);
37                 }
38                 printf("Received packet from %s:%d\nData: %s\n\n",
39                         inet_ntoa(remote_address.sin_addr), ntohs(remote_address.sin_port), buf);
40         }
41
42         close(s);
43         return 0;
44 }