From the Publisher: This book teaches readers how to program Linux sockets, and gives them everything they need to know to make programs communicate effetively over networks. It presents a comprehensive discussion of all relevant topics including: writing programs compatible with both Internet Protocol version 4 (IPv4) and IPv6, raw sockets, User Datagram Protocol (UDP), broadcasting /multicasting, server internals, and more, plus a section covering Posix threads. It provides thorough coverage of programming with the TCP, UDP, and IP protocols, as well as lower-level raw sockets. The myriad of function calls, data structures, and options associated with the APIs are explained with well-chosen diagrams and tables. After reading this book, the reader will be able to: Differentiate basic datagrams vs. streaming sockets. Differentiate unicast, broadcast, and multicast sockets. Write socket-based network programs. Write portable code for various OS'. Implement client-server and peer communications Increase network throughput using "connectionless" communications Manage asynchronous I/O, I/O and multiple sockets. Use signals, threading and processes to manage socket connections. Understand new socket technologies like Mbone and 6bone. Understand Remote Procedure Calls and how to implement them. Understand the different socket addressing types.
Recommendations
Designing and implementing a new type of transport-layer socket: the UDTCP socket case
On most operating systems, the UDP and TCP sockets are the two main types of sockets used to provide transport-layer networking services. However, for several reasons, UDP and TCP sockets are unsuitable for transporting delay-sensitive but error-...
An enhanced socket API for Multipath TCP
ANRW '16: Proceedings of the 2016 Applied Networking Research WorkshopMultipath TCP is a TCP extension that enables hosts to send data belonging to a single TCP connection over different paths. It was designed as an incrementally deployable evolution of TCP. For this reason, the Multipath TCP specification assumes that ...