
Example 3.7 Receiving a UDP Datagram (udp4.c)
1 /*
2 * udp4.c
3 *
4 * receive UDP datagram using
5 * recvfrom() function. example
6 * program #4.
7 *
8 * foster <jamescfoster@gmail.com>
9 */
10
11
#include <stdio.h>
12
13
#include <sys/socket.h>
14 #include <netinet/in.h>
15
16
#define UDP4_PORT 1234
17
18
int
19 main(void)
20 {
21 struct sockaddr_in sin;
22 char buf[100];
23 int sock = 0;
24 int ret = 0;
25
26
sock = socket(AF_INET, SOCK_DGRAM, 0);
27 if(sock < 0)
28 {
29 printf("socket() failed.\n");
30 return(1);
31 }
32
33
memset(&sin, 0x0, sizeof(sin));
34
35
sin.sin_family = AF_INET;
36 sin.sin_port = htons(UDP4_PORT);
37 sin.sin_addr.s_addr = INADDR_ANY;
38
39
ret = bind(sock, (struct ...