Index
A
- algorithms
- Application layer, OSI reference model
- Domain Name System (DNS) / The Application layer
- Hypertext Transfer Protocol (HTTP) / The Application layer
- File Transfer Protocol (FTP) / The Application layer
- Trivial FTP (TFTP) / The Application layer
- Dynamic Host Configuration Protocol (DHCP) / The Application layer
- Post Office Protocol (POP3) / The Application layer
- Simple Mail Transfer Protocol (SMTP) / The Application layer
- Internet Message Access Protocol (IMAP) / The Application layer
- Simple Network Management Protocol (SNMP) / The Application layer
- Server Message Block (SMB) / The Application layer
- about / The Application layer
- Upper Layer / The Application layer
- Lower Layer / The Application layer
- asynchronous process
B
- basic_stream_socket object
- reference link / Reading and writing to the socket
- boost**bind function
- reference link / Using the timer along with the boost::bind function
- Boost.Asio library
- about / Getting closer to the Boost.Asio library
- I/O service, examining / Examining the I/O service in the Boost.Asio library
- URL / What's next?
- Boost.Bind library
- about / Understanding the Boost.Bind library
- function invocation, wrapping / Wrapping a function invocation
- using / Working with the Boost.Bind library
- Boost.Mutex library
- used, for synchronizing data access / Synchronizing data access with the Boost.Mutex library
- Boost C++ libraries
- about / Introducing the Boost C++ libraries
- URL / Introducing the Boost C++ libraries, Downloading Boost libraries
- advantages / Advantages of Boost libraries
- preparing, for MinGW compiler / Preparing Boost libraries for the MinGW compiler
- downloading / Downloading Boost libraries
- deploying / Deploying Boost libraries
- using / Using Boost libraries
- building / Building Boost libraries
- Boost.Chrono / Building Boost libraries
- Boost.Context / Building Boost libraries
- Boost.Filesystem / Building Boost libraries
- Boost.GraphParallel / Building Boost libraries
- Boost.IOStreams / Building Boost libraries
- Boost.Locale / Building Boost libraries
- Boost.MPI / Building Boost libraries
- Boost.ProgramOptions / Building Boost libraries
- Boost.Python / Building Boost libraries
- Boost.Regex / Building Boost libraries
- Boost.Serialization / Building Boost libraries
- Boost.Signals / Building Boost libraries
- Boost.System / Building Boost libraries
- Boost.Thread / Building Boost libraries
- Boost.Timer / Building Boost libraries
- Boost.Wave / Building Boost libraries
- Boost.DateTime / Building Boost libraries
- Boost.Graph / Building Boost libraries
- Boost.Math / Building Boost libraries
- Boost.Random / Building Boost libraries
- Boost.Test / Building Boost libraries
- Boost.Exception / Building Boost libraries
- Boost C++ Libraries
- URL / What's next?
- Boost Graph Library (BGL)
- about / Building Boost libraries
C
- client-server application
- connection, establishing / Establishing a connection
- synchronous client, connecting / A synchronous client
- asynchronous client, connecting / An asynchronous client
- asynchronous server, connecting / An asynchronous server
- socket, reading / Reading and writing to the socket
- socket, writing / Reading and writing to the socket
- network code, wrapping / Wrapping the network code
- server program, developing / Developing a client and server program
- client program, developing / Developing a client and server program
- simple echo server, creating / Creating a simple echo server
- simple client program, creating / Creating a simple client program
- concurrent programming
- versus nonconcurrent programming / Getting closer to the Boost.Asio library
- containers
- continue command
D
- data access
- synchronizing, with Boost.Mutex library / Synchronizing data access with the Boost.Mutex library
- Data Link layer, OSI reference model
- about / The Data Link layer
- Logical Link Control (LLC) / The Data Link layer
- Media Access Control (MAC) / The Data Link layer
- physical address / The Data Link layer
- deadline timer
- debugging process
- starting / Starting the debugging process
- continuing / The continuing and stepping debugging process
- stepping / The continuing and stepping debugging process
- debugging tool
- selecting / Choosing a debugging tool
- installing / Installing a debugging tool
- file, preparing / Preparing a file for debugging
- dispatch() function
- using / Using the dispatch() function
- Domain Name System (DNS) / The Application layer
- Dynamic Host Configuration Protocol (DHCP) / The Application layer
E
- error
- solving / Solving the error
- errors
- handling / Handling exceptions and errors, Handling an error
- exceptions
- handling / Handling exceptions and errors, Handling an exception
F
- file
- preparing, to be debugged / Preparing a file for debugging
- File Transfer Protocol (FTP) / The Application layer
- function invocation
- wrapping / Wrapping a function invocation
G
- GCC / Setting up the MinGW compiler and Text Editor
- GCC C++ compiler
- using / Using the GCC C++ compiler
- C++ program, compiling / Compiling a C++ program
- multiple source files, compiling / Compiling multiple source files
- program, compiling / Compiling and linking a program separately
- program, linking / Compiling and linking a program separately
- warning, detecting in C++ program / Detecting a warning in the C++ program
- options / Knowing other important options in the GCC C++ compiler
- troubleshooting / Troubleshooting in the GCC C++ compiler
- GCC C++ compiler, troubleshooting
- help options, for command-line options / Help for command-line options
- version numbers / Version numbers
- verbose compilation / The verbose compilation
- GDB
- about / Choosing a debugging tool
- running / Running the program under GDB
- debugging process, starting / Starting the debugging process
- debugging process, continuing / The continuing and stepping debugging process
- debugging process, stepping / The continuing and stepping debugging process
- source code, printing / Printing the source code
- breakpoint, setting / Setting and deleting the breakpoint
- breakpoint, deleting / Setting and deleting the breakpoint
- variable value, printing / Printing a variable value
- variable value, modifying / Modifying a variable value
- command prompt, calling / Calling the command prompt
- commands / What's next?
- URL / What's next?
- generics
- GNU Debugger (GDB)
- features / Choosing a debugging tool
- Graphic User Interface (GUI)
- about / Choosing a debugging tool
H
- Hypertext Transfer Protocol (HTTP) / The Application layer
- about / A synchronous client
I
- I/O object
- I/O service
- examining, in Boost.Asio library / Examining the I/O service in the Boost.Asio library
- run() function, using / Using and blocking the run() function
- run() function, blocking / Using and blocking the run() function
- non-blocking poll() function, using / Using the non-blocking poll() function
- work object, removing / Removing the work object
- threads, dealing with / Dealing with many threads
- post() function, using / Using the post() function
- dispatch() function, using / Using the dispatch() function
- I/O service work
- serializing / Serializing the I/O service work
- serializing, with strand function / Using the strand function
- handler, wrapping through strand object / Wrapping a handler through the strand object
- Integrated Development Environment (IDE)
- about / Choosing a debugging tool
- Integrated Development Environments (IDE) / Choosing and installing the Text Editor
- Internet Assigned Numbers Authority (IANA) / Understanding ports
- URL / Understanding ports
- Internet Control Message Protocol (ICMP) / The ping command
- Internet Message Access Protocol (IMAP) / The Application layer
- Internet Protocol
- ipconfig command
- about / The ipconfig command
- full configuration information, displaying / Displaying the full configuration information
- DNS, displaying / Displaying DNS
- DNS, flushing / Flushing DNS
- IP address, renewing / Renewing the IP address
- IP address, releasing / Releasing the IP address
- ISO C++ 1998 / Knowing other important options in the GCC C++ compiler
- ISO C++ 2003 / Knowing other important options in the GCC C++ compiler
- ISO C++ 2011 / Knowing other important options in the GCC C++ compiler
- iterators
L
- list command
- about / Printing the source code
- Logical Link Control (LLC) / The Data Link layer
M
- Media Access Control (MAC) / The Data Link layer
- Message Passing Interface (MPI)
- about / Building Boost libraries
- Microsoft Developer Network (MSDN)
- URL / Solving the error
- MinGW-w64
- installing / Installing MinGW-w64
- URL / Installing MinGW-w64
- MinGW compiler
- setting up / Setting up the MinGW compiler and Text Editor
- Boost C++ libraries, preparing / Preparing Boost libraries for the MinGW compiler
- Minimalistic GNU for Windows (MinGW) / Setting up the MinGW compiler and Text Editor
N
- netstat command
- about / The netstat command
- networking systems
- about / An introduction to networking systems
- layer / An introduction to networking systems
- protocol / An introduction to networking systems
- OSI reference model / The OSI reference model
- TCP/IP reference model / The TCP/IP reference model
- Network layer, OSI reference model / The Network layer
- next command
- non-blocking poll() function
- non-copyable error
- nonconcurrent programming
- versus concurrent programming / Getting closer to the Boost.Asio library
- Notepad++
O
- OSI reference model
- about / The OSI reference model
- Physical layer / The Physical layer
- Data Link layer / The Data Link layer
- Network layer / The Network layer
- Transport layer / The Transport layer
- Session layer / The Session layer
- Presentation layer / The Presentation layer
- Application layer / The Application layer
P
- Path environment
- setting up / Setting up the Path environment
- about / Setting up the Path environment
- pathping command
- about / The pathping command
- physical address / The Data Link layer
- Physical layer, OSI reference model
- about / The Physical layer
- ping command
- about / The ping command
- placeholder arguments
- reference link / Using the timer along with the boost::bind function
- ports
- about / Understanding ports
- port number / Understanding ports
- post() function
- using / Using the post() function
- Post Office Protocol (POP3) / The Application layer
- Presentation layer, OSI reference model / The Presentation layer
- Pseudorandom Number Generator (PRNG)
- about / Building Boost libraries
R
- Round Trip Time (RTT) / The tracert command
- run() function
- using / Using and blocking the run() function
- blocking / Using and blocking the run() function
S
- Session layer, OSI reference model
- communication methods / The Session layer
- share_ptr pointer
- URL / Removing the work object
- Simple Network Management Protocol (SNMP) / The Application layer
- socket
- reading / Reading and writing to the socket
- writing / Reading and writing to the socket
- OnSend() function, using / The Send() and OnSend() functions
- Send() function, using / The Send() and OnSend() functions
- OnRecv() function, using / The Recv() and OnRecv() functions
- Recv() function, using / The Recv() and OnRecv() functions
- start command
- about / Starting the debugging process
- step command
- STL
- strand function
- using / Using the strand function
- synchronous process
T
- TCP/IP reference model
- about / The TCP/IP reference model
- layers / The TCP/IP reference model
- TCP/IP tools, for troubleshooting
- about / Using TCP/IP tools for troubleshooting
- ipconfig command / The ipconfig command
- ping command / The ping command
- tracert command / The tracert command
- pathping command / The pathping command
- netstat command / The netstat command
- telnet command / The telnet command
- telnet command
- about / The telnet command
- URL / The telnet command
- Text Editor
- selecting / Choosing and installing the Text Editor
- installing / Choosing and installing the Text Editor
- threads
- dealing with / Dealing with many threads
- timer
- creating, with timer class / Timing the work execution using the timer class
- expiring / An expiring timer
- using, with boost**bind function / Using the timer along with the boost::bind function
- using, with boost**strand function / Using the timer along with the boost::strand function
- tracert command
- about / The tracert command
- Transmission Control Protocol (TCP)
- about / Transmission Control Protocol
- synchronize (SYN) flag / Transmission Control Protocol
- acknowledge (ACK) flags / Transmission Control Protocol
- sliding window / Transmission Control Protocol
- Cyclical Redundancy Check (CRC) / Transmission Control Protocol
- negative acknowledge (NACK) packet / Transmission Control Protocol
- Transport layer, OSI reference model
- Transmission Control Protocol (TCP) / The Transport layer
- User Datagram Protocol (UDP) / The Transport layer
- Trivial FTP (TFTP) / The Application layer
U
- User Datagram Protocol (UDP)
- about / User Datagram Protocol
V
- vector
- Visual Studio
- about / Choosing a debugging tool
- Voice over IP (VoIP) / User Datagram Protocol
W
- work object
- removing / Removing the work object
Z
- 7ZIP application