Boost.Asio C++ Network Programming

Boost.Asio C++ Network Programming

Author: Wisnu Anggoro

Publisher: Packt Publishing Ltd

Published: 2015-09-16

Total Pages: 200

ISBN-13: 1785289098

DOWNLOAD EBOOK

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 Cookbook

Boost.Asio C++ Network Programming Cookbook

Author: Dmytro Radchuk

Publisher: Packt Publishing Ltd

Published: 2016-01-25

Total Pages: 248

ISBN-13: 1783986557

DOWNLOAD EBOOK

Over 25 hands-on recipes to create robust and highly-efficient cross-platform distributed applications with the Boost.Asio library About This Book Build highly efficient distributed applications with ease Enhance your cross-platform network programming skills with one of the most reputable C++ libraries Find solutions to real-world problems related to network programming with ready-to-use recipes using this detailed and practical handbook Who This Book Is For If you want to enhance your C++ network programming skills using the Boost.Asio library and understand the theory behind development of distributed applications, this book is just what you need. The prerequisite for this book is experience with general C++11. To get the most from the book and comprehend advanced topics, you will need some background experience in multithreading. What You Will Learn Boost your working knowledge of one of the most reputable C++ networking libraries—Boost.Asio Familiarize yourself with the basics of TCP and UDP protocols Create scalable and highly-efficient client and server applications Understand the theory behind development of distributed applications Increase the security of your distributed applications by adding SSL support Implement a HTTP client easily Use iostreams, scatter-gather buffers, and timers In Detail Starting with recipes demonstrating the execution of basic Boost.Asio operations, the book goes on to provide ready-to-use implementations of client and server applications from simple synchronous ones to powerful multithreaded scalable solutions. Finally, you are presented with advanced topics such as implementing a chat application, implementing an HTTP client, and adding SSL support. All the samples presented in the book are ready to be used in real projects just out of the box. As well as excellent practical examples, the book also includes extended supportive theoretical material on distributed application design and construction. Style and approach This book is a set of recipes, each containing the statement and description of a particular practical problem followed by code sample providing the solution to the problem and detailed step-by-step explanation. Recipes are grouped by topic into chapters and ordered by the level of complexity from basic to advanced.


The Boost C++ Libraries

The Boost C++ Libraries

Author: Boris Schäling

Publisher: Boris Schäling

Published:

Total Pages: 720

ISBN-13:

DOWNLOAD EBOOK

The second edition of The Boost C++ Libraries introduces 72 Boost libraries that provide a wide range of useful capabilities. They help you manage memory and process strings more easily. They provide containers and other data structures that go well beyond what the standard library offers. They make it easy to build platform-independent network applications. Simply put, these 72 libraries greatly expand your C++ toolbox. The second edition contains more than 430 examples. All examples are as short as possible, but they are complete, so you can compile and run them as is. They show you what the Boost libraries offer and give you a head start on using the libraries in your own applications. The goal of this book is to increase your efficiency as a C++ developer and to simplify software development with C++. The Boost libraries introduced in this book will help you write less code with fewer bugs and finish projects faster. You code will be more concise and self-explanatory and more easily adapted when requirements change. The second edition is based on the Boost libraries 1.55.0 and 1.56.0 with the latter version having been released in August 2014. The examples are based on C++11 and have been tested with Visual Studio 2013, GCC 4.8 and Clang 3.3 on various platforms. For Boost libraries which were incorporated into the C++11 standard library, differences between Boost and the standard library are highlighted. The Boost libraries are one of the most important and influential open source C++ libraries. Their source code is available under a permissive free software license. Several Boost libraries have been incorporated into the C++11 standard library. The Boost libraries are developed and supported by the Boost community - a worldwide developer community with a strong interest in pushing C++ boundaries further.


C++ Network Programming, Volume I

C++ Network Programming, Volume I

Author: Douglas Schmidt

Publisher: FT Press

Published: 2001-12-10

Total Pages: 336

ISBN-13: 0321623851

DOWNLOAD EBOOK

As networks, devices, and systems continue to evolve, software engineers face the unique challenge of creating reliable distributed applications within frequently changing environments. C++ Network Programming, Volume 1, provides practical solutions for developing and optimizing complex distributed systems using the ADAPTIVE Communication Environment (ACE), a revolutionary open-source framework that runs on dozens of hardware platforms and operating systems. This book guides software professionals through the traps and pitfalls of developing efficient, portable, and flexible networked applications. It explores the inherent design complexities of concurrent networked applications and the tradeoffs that must be considered when working to master them. C++ Network Programming begins with an overview of the issues and tools involved in writing distributed concurrent applications. The book then provides the essential design dimensions, patterns, and principles needed to develop flexible and efficient concurrent networked applications. The book's expert author team shows you how to enhance design skills while applying C++ and patterns effectively to develop object-oriented networked applications. Readers will find coverage of: C++ network programming, including an overview and strategies for addressing common development challenges The ACE Toolkit Connection protocols, message exchange, and message-passing versus shared memory Implementation methods for reusable networked application services Concurrency in object-oriented network programming Design principles and patterns for ACE wrapper facades With this book, C++ developers have at their disposal the most complete toolkit available for developing successful, multiplatform, concurrent networked applications with ease and efficiency.


Learning Boost C++ Libraries

Learning Boost C++ Libraries

Author: Arindam Mukherjee

Publisher: Packt Publishing Ltd

Published: 2015-07-31

Total Pages: 558

ISBN-13: 1783551224

DOWNLOAD EBOOK

Filled with dozens of working code examples that illustrate the use of over 40 popular Boost libraries, this book takes you on a tour of Boost, helping you to independently build the libraries from source and use them in your own code. The first half of the book focuses on basic programming interfaces including generic containers and algorithms, strings, resource management, exception safety, and a miscellany of programming utilities that make everyday programming chores easy. Following a short interlude that introduces template metaprogramming and functional programming, the later chapters are devoted to systems programming interfaces, focusing on directory handling, I/O, concurrency, and network programming


Boost C++ Application Development Cookbook

Boost C++ Application Development Cookbook

Author: Antony Polukhin

Publisher: Packt Publishing Ltd

Published: 2017-08-30

Total Pages: 433

ISBN-13: 1787284832

DOWNLOAD EBOOK

Learn to build applications faster and better by leveraging the real power of Boost and C++ About This Book Learn to use the Boost libraries to simplify your application development Learn to develop high quality, fast and portable applications Learn the relations between Boost and C++11/C++4/C++17 Who This Book Is For This book is for developers looking to improve their knowledge of Boost and who would like to simplify their application development processes. Prior C++ knowledge and basic knowledge of the standard library is assumed. What You Will Learn Get familiar with new data types for everyday use Use smart pointers to manage resources Get to grips with compile-time computations and assertions Use Boost libraries for multithreading Learn about parallel execution of different task Perform common string-related tasks using Boost libraries Split all the processes, computations, and interactions to tasks and process them independently Learn the basics of working with graphs, stacktracing, testing and interprocess communications Explore different helper macros used to detect compiler, platform and Boost features In Detail If you want to take advantage of the real power of Boost and C++ and avoid the confusion about which library to use in which situation, then this book is for you. Beginning with the basics of Boost C++, you will move on to learn how the Boost libraries simplify application development. You will learn to convert data such as string to numbers, numbers to string, numbers to numbers and more. Managing resources will become a piece of cake. You'll see what kind of work can be done at compile time and what Boost containers can do. You will learn everything for the development of high quality fast and portable applications. Write a program once and then you can use it on Linux, Windows, MacOS, Android operating systems. From manipulating images to graphs, directories, timers, files, networking – everyone will find an interesting topic. Be sure that knowledge from this book won't get outdated, as more and more Boost libraries become part of the C++ Standard.


C++ Crash Course

C++ Crash Course

Author: Josh Lospinoso

Publisher: No Starch Press

Published: 2019-09-24

Total Pages: 793

ISBN-13: 1593278888

DOWNLOAD EBOOK

A fast-paced, thorough introduction to modern C++ written for experienced programmers. After reading C++ Crash Course, you'll be proficient in the core language concepts, the C++ Standard Library, and the Boost Libraries. C++ is one of the most widely used languages for real-world software. In the hands of a knowledgeable programmer, C++ can produce small, efficient, and readable code that any programmer would be proud of. Designed for intermediate to advanced programmers, C++ Crash Course cuts through the weeds to get you straight to the core of C++17, the most modern revision of the ISO standard. Part 1 covers the core of the C++ language, where you'll learn about everything from types and functions, to the object life cycle and expressions. Part 2 introduces you to the C++ Standard Library and Boost Libraries, where you'll learn about all of the high-quality, fully-featured facilities available to you. You'll cover special utility classes, data structures, and algorithms, and learn how to manipulate file systems and build high-performance programs that communicate over networks. You'll learn all the major features of modern C++, including: Fundamental types, reference types, and user-defined types The object lifecycle including storage duration, memory management, exceptions, call stacks, and the RAII paradigm Compile-time polymorphism with templates and run-time polymorphism with virtual classes Advanced expressions, statements, and functions Smart pointers, data structures, dates and times, numerics, and probability/statistics facilities Containers, iterators, strings, and algorithms Streams and files, concurrency, networking, and application development With well over 500 code samples and nearly 100 exercises, C++ Crash Course is sure to help you build a strong C++ foundation.


The The Modern C++ Challenge

The The Modern C++ Challenge

Author: Marius Bancila

Publisher: Packt Publishing Ltd

Published: 2018-05-23

Total Pages: 321

ISBN-13: 1788994027

DOWNLOAD EBOOK

Test your C++ programming skills by solving real-world programming problems covered in the book Key Features Solve a variety of real-world programming and logic problems by leveraging the power of C++17 Test your skills in using language features, algorithms, data structures, design patterns, and more Explore areas such as cryptography, communication, and image handling in C++ Book Description C++ is one of the most widely-used programming languages and has applications in a variety of fields, such as gaming, GUI programming, and operating systems, to name a few. Through the years, C++ has evolved into (and remains) one of the top choices for software developers worldwide. This book will show you some notable C++ features and how to implement them to meet your application needs. Each problem is unique and doesn't just test your knowledge of the language; it tests your ability to think out of the box and come up with the best solutions. With varying levels of difficulty, you'll be faced with a wide variety of challenges. And in case you're stumped, you don't have to worry: we've got the best solutions to the problems in the book. So are you up for the challenge? What you will learn Serialize and deserialize JSON and XML data Perform encryption and signing to facilitate secure communication between parties Embed and use SQLite databases in your applications Use threads and asynchronous functions to implement generic purpose parallel algorithms Compress and decompress files to/from a ZIP archive Implement data structures such as circular buffer and priority queue Implement general purpose algorithms as well as algorithms that solve specific problems Create client-server applications that communicate over TCP/IP Consume HTTP REST services Use design patterns to solve real-world problems Who this book is for This book will appeal to C++ developers of all levels. There's a challenge inside for everyone.


Functional C#

Functional C#

Author: Wisnu Anggoro

Publisher: Packt Publishing Ltd

Published: 2016-12-30

Total Pages: 365

ISBN-13: 1785881035

DOWNLOAD EBOOK

Uncover the secrets of functional programming using C# and change the way you approach your applications forever About This Book This book focuses on the functional paradigm of C#, which will give you a whole new angle on coding with C# It illustrates the advantages that functional programming brings to the table and the associated coding benefits This practical guide covers all the aspects of functional programming and provides solutions that can be applied in business scenarios Who This Book Is For This book is suitable for C# developers with basic prior knowledge of C# and with no functional programming experience at all. What You Will Learn Develop an application using the functional approach Implement unit testing to functionally program code Create efficient code using functional programming Work through a LINQ query so you can work with data Compose asynchronous programs to create a responsive application Use recursion in function programming in order to simplify code Optimize the program code using Laziness and Caching Techniques In Detail Functional programming makes your application faster, improves performance, and increases your productivity. C# code is written at a higher level of abstraction, so that code will be closer to business requirements, abstracting away many low-level implementation details. This book bridges the language gap for C# developers by showing you how to create and consume functional constructs in C#. We also bridge the domain gap by showing how functional constructs can be applied in business scenarios. We'll take you through lambda expressions and extension methods, and help you develop a deep understanding of the concepts and practices of LINQ and recursion in C#. By the end of the book, you will be able to write code using the best approach and will be able to perform unit testing in functional programming, changing how you write your applications and revolutionizing your projects. Style and approach This book takes a pragmatic approach and shows you techniques to write better functional constructs in C#. We'll also show you how these concepts can be applied in business scenarios.


Learning C++ Functional Programming

Learning C++ Functional Programming

Author: Wisnu Anggoro

Publisher: Packt Publishing Ltd

Published: 2017-08-10

Total Pages: 298

ISBN-13: 1787280586

DOWNLOAD EBOOK

Apply Functional Programming techniques to C++ to build highly modular, testable, and reusable code About This Book Modularize your applications and make them highly reusable and testable Get familiar with complex concepts such as metaprogramming, concurrency, and immutability A highly practical guide to building functional code in C++ filled with lots of examples and real-world use cases Who This Book Is For This book is for C++ developers comfortable with OOP who are interested in learning how to apply the functional paradigm to create robust and testable apps. What You Will Learn Get to know the difference between imperative and functional approaches See the use of first-class functions and pure functions in a functional style Discover various techniques to apply immutable state to avoid side effects Design a recursive algorithm effectively Create faster programs using lazy evaluation Structure code using design patterns to make the design process easier Use concurrency techniques to develop responsive software Learn how to use the C++ Standard Template Library and metaprogramming in a functional way to improve code optimization In Detail Functional programming allows developers to divide programs into smaller, reusable components that ease the creation, testing, and maintenance of software as a whole. Combined with the power of C++, you can develop robust and scalable applications that fulfill modern day software requirements. This book will help you discover all the C++ 17 features that can be applied to build software in a functional way. The book is divided into three modules—the first introduces the fundamentals of functional programming and how it is supported by modern C++. The second module explains how to efficiently implement C++ features such as pure functions and immutable states to build robust applications. The last module describes how to achieve concurrency and apply design patterns to enhance your application's performance. Here, you will also learn to optimize code using metaprogramming in a functional way. By the end of the book, you will be familiar with the functional approach of programming and will be able to use these techniques on a daily basis. Style and approach This book uses a module-based approach, where each module will cover important aspects of functional programming in C++ and will help you develop efficient and robust applications through gaining a practical understanding.