Index
A
- active socket
- about / Creating an active socket
- creating / How to do it..., How it works..., There's more...
- asynchronous client application
- about / The classification of client applications
- versus synchronous client application / Synchronous versus asynchronous
- asynchronous operations
- canceling / Canceling asynchronous operations, How to do it…, How it works…
- asynchronous server application
- about / Introduction
- asynchronous TCP client
- implementing / Implementing an asynchronous TCP client, How to do it…, How it works…
- application, starting / Starting the application – the main() entry point function
- request completion / Request completion – the handler() callback function
- initializing / The AsyncTCPClient class – initializing
- request, initiating / The AsyncTCPClient class – initiating a request
- request, canceling / The AsyncTCPClient class – canceling the request
- client, closing / The AsyncTCPClient class – closing the client
- asynchronous TCP server
- about / Implementing an asynchronous TCP server
- implementing / Implementing an asynchronous TCP server, How to do it…
- working / How it works…
- Service class / The Service class
- Acceptor class / The Acceptor class
- Server class / The Server class
- main() entry point function / The main() entry point function
- AsyncTCPClient class
B
- Berkley Sockets API
- about / Introduction
- binding
- about / Binding a socket to an endpoint
- Boost.Asio
- about / Creating an active socket
C
- client
- about / Introduction
- client applications
- classifying / The classification of client applications
- clients
- about / Introduction
- communication / I/O buffers
- composite buffers
- about / Using composite buffers for scatter/gather operations
- using, for scatter/gather operations / Using composite buffers for scatter/gather operations, How to do it…
- preparing, for gather output operations / Preparing a composite buffer for gather output operations
- preparing, for input operation / Preparing a composite buffer for an input operation, How it works…
- connections
- accepting / Accepting connections, How to do it…, How it works…
D
- distributed application
- about / Introduction
- benefits / Introduction
- DNS
- about / Resolving a DNS name
- DNS name
- resolving / Resolving a DNS name, How to do it…, How it works…
- about / Resolving a DNS name
- DNS name resolution
- about / Resolving a DNS name
- domain name
- about / Resolving a DNS name
E
- endpoint
- about / Creating an endpoint
- creating / Creating an endpoint, How to do it…, Creating the server endpoint, How it works…, There's more...
- goals / Creating an endpoint
- creating, in client for server designation / Creating an endpoint in the client to designate the server
- socket, binding to / Binding a socket to an endpoint, How to do it…, How it works…
- execute() method / The HTTPRequest class
- extensible buffers
- about / Using extensible stream-oriented I/O buffers, How to do it…
- working / How it works…
F
- fixed length I/O buffers
- using / Using fixed length I/O buffers, How to do it…
- preparing for output operation / Preparing a buffer for an output operation, Preparing a buffer for an output operation
- preparing for intput operation / Preparing a buffer for an input operation, How it works…
- preparing for input operation / Preparing a buffer for an input operation
G
- get_id() getter method / The HTTPRequest class
H
- handler() function / Callback and the main() entry point functions
- HTTP client application
- implementing / Implementing the HTTP client application, How to do it…
- HTTPResponse class / The HTTPResponse class, The HTTPResponse class
- HTTPRequest class / The HTTPRequest class, The HTTPRequest class
- HTTPClient class / The HTTPClient class, The HTTPClient class
- callback / The callback and the main() entry point function, Callback and the main() entry point functions
- main() entry point function / The callback and the main() entry point function, How it works…
- main() entry point functions / Callback and the main() entry point functions
- HTTP protocol
- about / Introduction
- HTTP client application / Introduction
- HTTP server application / Introduction
- HTTP request line / How to do it…
- HTTP response status line / The HTTPRequest class
- HTTP server application
- implementing / Implementing the HTTP server application, How to do it…, How it works…
I
- I/O operations
- about / Introduction
- I/O buffers / I/O buffers
- synchronous operations / Synchronous and asynchronous I/O operations
- asynchronous operations / Synchronous and asynchronous I/O operations
- additional operations / Additional operations
- inversion of control approach / Synchronous and asynchronous I/O operations
- iterative server
- about / Introduction
M
- multiprotocol servers
- about / Introduction
- multithreaded TCP client / There's more…
- multithreaded TCP client application
- implementing / Implementing a multithreaded TCP client application
N
- network programming
- about / Introduction
- simplifying / Introduction
- notifiers
- about / Introduction
- notify clients
- about / Introduction
O
- on_connection_established() method / The HTTPRequest class
- on_host_name_resolved() method / The HTTPRequest class
- overlapping
- about / Synchronous versus asynchronous
P
- parallel server
- about / Introduction
- passive socket
- about / Creating an active socket, Creating a passive socket
- creating / How to do it…, How it works…
- private members, SyncTCPClient class
- asio**io_service m_ios / The SyncTCPClient class
- asio**ip**tcp**endpoint m_ep / The SyncTCPClient class
- asio**ip**tcp**socket m_sock / The SyncTCPClient class
- private members, SyncUDPClient class
- asio**io_service m_ios / The SyncUDPClient class
- asio**ip**udp**socket m_sock / The SyncUDPClient class
- push-style communication model
- about / Introduction
R
- request headers block / How to do it…
- request life cycle
- stages / Synchronous versus asynchronous
- response body / The HTTPRequest class
- response headers block / The HTTPRequest class
S
- sample protocol
- about / The sample protocol
- Secure Socket Layer (SSL) / Introduction
- server
- about / Introduction, Introduction
- server endpoint
- creating / Creating the server endpoint
- simplicity
- about / Introduction
- single-threaded TCP client / There's more…
- socket
- about / Introduction
- binding, to endpoint / Binding a socket to an endpoint, How to do it…, How it works…
- connecting / Connecting a socket, How to do it…, How it works…, There's more…
- socket options
- SSL/TLS handshake / The Service class
- SSL/TLS support
- adding, to client applications / Adding SSL/TLS support to client applications, How to do it…, How it works…
- SyncSSLClient class / The SyncSSLClient class
- main() entry point function / The main() entry point function
- about / Adding SSL/TLS support to server applications
- adding, to server applications / Adding SSL/TLS support to server applications, How to do it…
- Service class / The Service class
- Acceptor class / The Acceptor class
- SSL context / The Acceptor class
- status line / The HTTPRequest class
- stream-based I/O
- performing / Performing a stream-based I/O, How it works…
- server-side I/O, implementing / Implementing a server-side I/O
- timeout intervals, setting / Setting timeout intervals
- synchronous approach
- advantage / Introduction
- about / Introduction
- sample protocol / The sample protocol
- synchronous client application
- about / The classification of client applications
- versus asynchronous client application / Synchronous versus asynchronous
- synchronous iterative TCP server
- implementing / Implementing a synchronous iterative TCP server, How to do it…, How it works…
- Service class / The Service class
- Acceptor class / The Acceptor class
- Server class / The Server class
- main() entry point function / The main() entry point function
- drawbacks, eliminating / Eliminating the drawbacks
- stopping, in reasonable amount of time / Stopping a server in reasonable amount of time
- vulnerability, dealing with / Dealing with the server's vulnerability
- results, analyzing / Analyzing the results
- synchronous operations
- about / Introduction
- synchronous parallel TCP server
- implementing / Implementing a synchronous parallel TCP server, How to do it…, How it works…
- Service class / The Service class
- Acceptor class / The Acceptor class
- Server class / The Server class
- Start() method / The Server class
- Stop() method / The Server class
- main() entry point function / The main() entry point function
- synchronous server
- about / Introduction
- synchronous TCP client
- about / Implementing a synchronous TCP client
- implementing / Implementing a synchronous TCP client, How it works…
- SyncTCPClient class / The SyncTCPClient class
- main() entry point function / The main() entry point function
- synchronous UDP client
- about / Implementing a synchronous UDP client
- implementing / How to do it…, How it works…
- SyncUDPClient class / The SyncUDPClient class
- main() entry point function / The main() entry point function
- SyncTCPClient class
- about / The SyncTCPClient class
- private members / The SyncTCPClient class
- SyncUDPClient class
- about / The SyncUDPClient class
- private members / The SyncUDPClient class
T
- TCP client
- TCP protocol
- characteristics / Introduction
- TCP socket
- writing to, synchronously / Writing to a TCP socket synchronously, How to do it…, How it works…
- send() method / Alternative – the send() method, There's more...
- reading from, synchronously / Reading from a TCP socket synchronously, How to do it…, How it works…
- receive() method / Alternative – the receive() method
- asio$$read() function / The asio::read() function
- asio$$read_until() function / The asio::read_until() function
- asio$$read_at() function / The asio::read_at() function
- writing to, asynchronously / Writing to a TCP socket asynchronously, How to do it…, How it works…, There's more...
- reading from, asynchronously / Reading from a TCP socket asynchronously, How to do it…, How it works…, There's more...
- shutting down / Shutting down and closing a socket
- closing / Shutting down and closing a socket, Closing a socket
- client application / The client application
- server application / The server application
- timers
- using / Using timers, How to do it…, How it works…
- about / Using timers
- Transport Layer Security (TLS) / Introduction
U
- UDP client
- UDP protocol
- characteristics / Introduction