TCP and UDP are the main protocols used for network programming with sockets. TCP provides reliable connections using three-way handshakes and four-way handshakes for connection establishment and termination. UDP provides simpler datagram transmissions without establishing connections. Sockets provide an interface for applications to communicate over networks, with socket addresses containing IP addresses and ports. HTTP is a widely used request-response protocol that can use various request methods like GET and POST to transfer resources over TCP connections. Unix systems support multiple I/O models including blocking I/O, non-blocking I/O, I/O multiplexing, signal-driven I/O, and asynchronous I/O.
Related topics: