TCP/IP sockets in C practical guide for programmers
The Internet allows computers thousands of miles apart to exchange information through programs such as Web browsers, and nearly all of these programs gain access to network communication services through the sockets programming interface. TCP/IP Sockets in C: Practical Guide for Programmers is a qu...
Autor principal: | |
---|---|
Otros Autores: | |
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
San Francisco :
Morgan Kaufmann Publishers
c2009.
|
Edición: | 2nd ed |
Colección: | Morgan Kaufmann practical guides series.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627695006719 |
Tabla de Contenidos:
- Front Cover; TCP/IP Sockets in C; Copyright Page; Table of Contents; Preface to the Second Edition; Chapter 1. Introduction; 1.1 Networks, Packets, and Protocols; 1.2 About Addresses; 1.2.1 Writing Down IP Addresses; 1.2.2 Dealing with Two Versions; 1.2.3 Port Numbers; 1.2.4 Special Addresses; 1.3 About Names; 1.4 Clients and Servers; 1.5 What Is a Socket?; Exercises; Chapter 2. Basic TCP Sockets; 2.1 IPv4 TCP Client; 2.2 IPv4 TCP Server; 2.3 Creating and Destroying Sockets; 2.4 Specifying Addresses; 2.4.1 Generic Addresses; 2.4.2 IPv4 Addresses; 2.4.3 IPv6 Addresses
- 2.4.4 Generic Address Storage2.4.5 Binary/String Address Conversion; 2.4.6 Getting a Socket's Associated Addresses; 2.5 Connecting a Socket; 2.6 Binding to an Address; 2.7 Handling Incoming Connections; 2.8 Communication; 2.9 Using IPv6; Exercises; Chapter 3. Of Names and Address Families; 3.1 Mapping Names to Numbers; 3.1.1 Accessing the Name Service; 3.1.2 Details, Details; 3.2 Writing Address-Generic Code; 3.2.1 Generic TCP Client; 3.2.2 Generic TCP Server; 3.2.3 IPv4-IPv6 Interoperation; 3.3 Getting Names from Numbers; Exercises; Chapter 4. Using UDP Sockets; 4.1 UDP Client
- 4.2 UDP Server4.3 Sending and Receiving with UDP Sockets; 4.4 Connecting a UDP Socket; Exercises; Chapter 5. Sending and Receiving Data; 5.1 Encoding Integers; 5.1.1 Sizes of Integers; 5.1.2 Byte Ordering; 5.1.3 Signedness and Sign Extension; 5.1.4 Encoding Integers by Hand; 5.1.5 Wrapping TCP Sockets in Streams; 5.1.6 Structure Overlays: Alignment and Padding; 5.1.7 Strings and Text; 5.1.8 Bit-Diddling: Encoding Booleans; 5.2 Constructing, Framing, and Parsing Messages; 5.2.1 Framing; 5.2.2 Text-Based Message Encoding; 5.2.3 Binary Message Encoding; 5.2.4 Putting It All Together
- 5.3 Wrapping UpExercises; Chapter 6. Beyond Basic Socket Programming; 6.1 Socket Options; 6.2 Signals; 6.3 Nonblocking I/O; 6.3.1 Nonblocking Sockets; 6.3.2 Asynchronous I/O; 6.3.3 Timeouts; 6.4 Multitasking; 6.4.1 Per-Client Processes; 6.4.2 Per-Client Thread; 6.4.3 Constrained Multitasking; 6.5 Multiplexing; 6.6 Multiple Recipients; 6.6.1 Broadcast; 6.6.2 Multicast; 6.6.3 Broadcast vs. Multicast; Exercises; Chapter 7. Under the Hood; 7.1 Buffering and TCP; 7.2 Deadlock Danger; 7.3 Performance Implications; 7.4 TCP Socket Life Cycle; 7.4.1 Connecting; 7.4.2 Closing a TCP Connection
- 7.5 Demultiplexing DemystifiedExercises; Chapter 8. Socket Programming in C++*; 8.1 PracticalSocket Library Overview; 8.2 Plus One Service; 8.2.1 Plus One Server; 8.2.2 Plus One Client; 8.2.3 Running Server and Client; Exercises; 8.3 Survey Service; 8.3.1 Survey Support Functions; 8.3.2 Survey Server; 8.3.3 Survey Client; 8.3.4 Running Server and Client; 8.4 Survey Service, Mark 2; 8.4.1 Socket Address Support; 8.4.2 Socket iostream Interface; 8.4.3 Enhanced Survey Server; 8.4.4 Enhanced Survey Client; 8.4.5 Administrative Client; 8.4.6 Running Server and Clients; Exercises; References; Index