Network Programming in C

Network Programming in C

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 49m | 311 MB

Are you a C programmer looking to explore networking programming? In this course, instructor Dan Gookin provides an overview of network communications, terms, strategies, and concepts. Dan explores this complex topic in a step-by-step progression, exploring networking in Linux, macOS, or Windows 10/11 running the Windows Subsystem for Linux (WSL). Included are relevant parts of the operating system and how to access local networking features. The core of the course deals with socket programming at the client/server level. The IPv4 and IPv6 protocols are covered, as are TCP and UDP connections. Dan shows you how to program a client and server for both types of connections. The course finishes with a challenge: Code a Linux, text-mode real time chat server that accepts multiple connections, tracks conversations, and logs connections.

Table of Contents

1 Network with the world
2 What you need for this course
3 Traps and pitfalls

Network Communications
4 View the big network picture
5 Configure the firewall
6 Understand the Internet Protocol (IP)
7 Explore network addresses and ports
8 Access local network details
9 Discover local interfaces
10 Review the clientserver roles

Network Programming
11 Understand socket programming
12 Explore the getaddrinfo() function
13 Open a socket
14 Bind and connect
15 Listen and accept
16 Challenge Check for errors
17 Solution Check for errors

TCP Connections
18 Create a TCP server
19 Call a TCP server
20 Code a dual stack configuration
21 Challenge A generic TCP client
22 Solution A generic TCP client

UDP Connections
23 Code a UDP server
24 Code a UDP client
25 Challenge Code a UDP client and server
26 Solution Code a UDP client and server

A Chat Server
27 Obtain the client’s address
28 Maintain the connection
29 Accept multiple connections
30 Challenge Write a chat server
31 Solution Write a chat server