Всем привет! Продолжаю перевод книги Джона Торджо «Сетевое программирование Boost.Asio C++».
Содержание:
-
Глава 5: Синхронный и асинхронный режимы"> Глава 1. Начало работы с Boost.Asio
- Глава 2: Основы Boost.Asio
-
Глава 5: Синхронный и асинхронный режимы"> Глава 3: Эхо-сервер/клиент
-
Глава 5: Синхронный и асинхронный режимы"> Глава 4: Клиент и сервер
- Глава 5: Синхронный и асинхронный режимы
-
Глава 5: Синхронный и асинхронный режимы"> Глава 6: Boost.Asio — другие возможности
-
Глава 5: Синхронный и асинхронный режимы"> Глава 7: Boost.Asio — Дополнительные темы
Авторы Boost.Asio проделали замечательную работу, предоставив нам возможность выбирать, что лучше всего подходит для наших приложений, выбрав синхронный или асинхронный маршрут.
В предыдущей главе мы видели фреймворки для всех типов приложений, таких как синхронный клиент, синхронный сервер, а также их асинхронные варианты.
Вы можете использовать каждый из них в качестве основы для своего приложения.
Если есть необходимость вникнуть в подробности о каждом типе приложений, то читайте дальше.
Смешивание синхронного и асинхронного программирования
Библиотека Boost.Asio позволяет совмещать синхронное и асинхронное программирование.Лично я считаю, что это плохая идея, но Boost.Asio, как и C++ в целом, позволяет при желании выстрелить себе в ногу.
Вы легко можете попасть в ловушку, особенно если ваше приложение работает асинхронно.
Например, в ответ на асинхронную операцию записи вы выполняете, скажем, асинхронную операцию чтения:
io_service service;
ip::tcp::socket sock(service);
ip::tcp::endpoint ep( ip::address::from_string("127.0.0.1"), 8001);
void on_write(boost::system::error_code err, size_t bytes)
{
Теги: #C++ #api #перевод #программирование #C++ #api
-
Лазерные Принтеры Hp И Струйные Принтеры Hp
19 Dec, 24 -
Монгольфье
19 Dec, 24 -
Vmware Купила Zimbra
19 Dec, 24 -
Фиас И Семь Смертельных Граблей Застройщика
19 Dec, 24 -
Да, Вирджиния, Scala Сложна!
19 Dec, 24