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.