万本电子书0元读

万本电子书0元读

顶部广告

Boost.Asio C++ Network Programming - Second Edition电子书

售       价:¥

44人正在读 | 0人评论 9.8

作       者:Wisnu Anggoro

出  版  社:Packt Publishing

出版时间:2015-09-16

字       数:107.6万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn effective C++ network programming with Boost.Asio and become a proficient C++ network programmer About This Book Learn efficient C++ network programming with minimum coding using Boost.Asio Your one-stop destination to everything related to the Boost.Asio library Explore the fundamentals of networking to choose designs with more examples, and learn the basics of Boost.Asio Who This Book Is For This book is for C++ Network programmers with basic knowledge of network programming, but no knowledge of how to use Boost.Asio for network programming. What You Will Learn Prepare the tools to simplify network programming in C++ using Boost.Asio Explore the networking concepts of IP addressing, TCP/IP ports and protocols, and LAN topologies Get acquainted with the usage of the Boost libraries Get to know more about the content of Boost.Asio network programming and Asynchronous programming Establish communication between client and server by creating client-server application Understand the various functions inside Boost.Asio C++ libraries to delve into network programming Discover how to debug and run the code successfully In Detail Boost.Asio is a C++ library used for network programming operations. Organizations use Boost because of its productivity. Use of these high-quality libraries speed up initial development, result in fewer bugs, reduce reinvention-of-the-wheel, and cut long-term maintenance costs. Using Boost libraries gives an organization a head start in adopting new technologies. This book will teach you C++ Network programming using synchronous and asynchronous operations in Boost.Asio with minimum code, along with the fundamentals of Boost, server-client applications, debugging, and more. You will begin by preparing and setting up the required tools to simplify your network programming in C++ with Boost.Asio. Then you will learn about the basic concepts in networking such as IP addressing, TCP/IP protocols, and LAN with its topologies. This will be followed by an overview of the Boost libraries and their usage. Next you will get to know more about Boost.Asio and its concepts related to network programming. We will then go on to create a client-server application, helping you to understand the networking concepts. Moving on, you will discover how to use all the functions inside the Boost.Asio C++ libraries. Lastly, you will understand how to debug the code if there are errors found and will run the code successfully. Style and approach An example-oriented book to show you the basics of networking and help you create a network application simply using Boost.Asio, with more examples for you to get up and running with Boost.Asio quickly.
目录展开

Boost.Asio C++ Network Programming Second Edition

Table of Contents

Boost.Asio C++ Network Programming Second Edition

Credits

About the Authors

Acknowledgements

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Free access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

1. Simplifying Your Network Programming in C++

Setting up the MinGW compiler and Text Editor

Installing MinGW-w64

Setting up the Path environment

Choosing and installing the Text Editor

Using the GCC C++ compiler

Compiling a C++ program

Compiling multiple source files

Compiling and linking a program separately

Detecting a warning in the C++ program

Knowing other important options in the GCC C++ compiler

Troubleshooting in the GCC C++ compiler

Help for command-line options

Version numbers

The verbose compilation

Summary

2. Understanding the Networking Concepts

An introduction to networking systems

The OSI reference model

The Physical layer

The Data Link layer

The Network layer

The Transport layer

The Session layer

The Presentation layer

The Application layer

The TCP/IP reference model

Understanding TCP and UDP

Transmission Control Protocol

User Datagram Protocol

Understanding ports

Exploring the Internet Protocol

Internet Protocol Version 4 – IPv4

Internet Protocol Version 6 – IPv6

Using TCP/IP tools for troubleshooting

The ipconfig command

Displaying the full configuration information

Displaying DNS

Flushing DNS

Renewing the IP address

Releasing the IP address

The ping command

The tracert command

The pathping command

The netstat command

The telnet command

Summary

3. Introducing the Boost C++ Libraries

Introducing the C++ standard template library

Introducing the Boost C++ libraries

Advantages of Boost libraries

Preparing Boost libraries for the MinGW compiler

Downloading Boost libraries

Deploying Boost libraries

Using Boost libraries

Building Boost libraries

Summary

4. Getting Started with Boost.Asio

Getting closer to the Boost.Asio library

Examining the I/O service in the Boost.Asio library

Using and blocking the run() function

Using the non-blocking poll() function

Removing the work object

Dealing with many threads

Understanding the Boost.Bind library

Wrapping a function invocation

Working with the Boost.Bind library

Synchronizing data access with the Boost.Mutex library

Giving some work to the I/O service

Using the post() function

Using the dispatch() function

Summary

5. Delving into the Boost.Asio Library

Serializing the I/O service work

Using the strand function

Wrapping a handler through the strand object

Handling exceptions and errors

Handling an exception

Handling an error

Timing the work execution using the timer class

An expiring timer

Using the timer along with the boost::bind function

Using the timer along with the boost::strand function

Summary

6. Creating a Client-server Application

Establishing a connection

A synchronous client

An asynchronous client

An asynchronous server

Reading and writing to the socket

The Send() and OnSend() functions

The Recv() and OnRecv() functions

Wrapping the network code

Developing a client and server program

Creating a simple echo server

Creating a simple client program

Summary

7. Debugging the Code and Solving the Error

Choosing a debugging tool

Installing a debugging tool

Preparing a file for debugging

Running the program under GDB

Starting the debugging process

The continuing and stepping debugging process

Printing the source code

Setting and deleting the breakpoint

Printing a variable value

Modifying a variable value

Calling the command prompt

Solving the error

What's next?

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部