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.