A simple UDP server

We will start with the server, since we already have a usable UDP client, that is, udp_client.c.

Like all of our networked programs, we will begin by including the necessary headers, starting with the main() function, and initializing Winsock as follows:

/*udp_recvfrom.c*/#include "chap04.h"int main() {#if defined(_WIN32)    WSADATA d;    if (WSAStartup(MAKEWORD(2, 2), &d)) {        fprintf(stderr, "Failed to initialize.\n");        return 1;    }#endif

If you've been working through this book in order, this code should be very routine for you by now. If you haven't, then please refer to Chapter 2, Getting to Grips with Socket APIs.

Then, we must configure the local address that our server listens on. We use getaddrinfo() for this, as follows: ...

Get Hands-On Network Programming with C now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.