Описание тега beast-websockets

Beast - это библиотека C++11 только для заголовков, часть библиотеки Boost C++, служащая основой для написания взаимодействующих сетевых библиотек путем предоставления низкоуровневых типов и алгоритмов словаря HTTP/1, WebSocket и сетевых протоколов с использованием согласованного асинхронного модель Boost.Asio. Beast Websockets касается использования Beast в качестве клиент-серверной библиотеки HTTP Websocket.
1 ответ

Сохраните карту STL в Boost ConstBufferSequence

Я пытаюсь хранить std::map<enum, int> в boost::beast::multi_buffer, До сих пор я использовал boost::asio::buffer_copy а также boost::asio::buffer хранить векторы и POD ы. Однако я не смог найти способ хранить карту STL. Я пробовал это: auto t_…
2 ответа

Как сделать асинхронное чтение / запись веб-сокетов Beast наряду с чтением / записью файлов?

У меня есть программа на C++, которая разветвляется на два процесса: 1 (оригинал) и 2 (разветвленный процесс). В разветвленном процессе (2) он выполняет программу A, которая выполняет много вычислений. Исходный процесс (1) связывается с этой програм…
0 ответов

Сбой подключения веб-сокета Boost Beast, когда системное время прошло

Я пытаюсь подключиться к защищенному серверу websocket, используя boost beast и boost asio. Соединение всегда будет успешным, если системная дата и время верны, но если я обновлю дату до прошлого значения, библиотека не сможет подключиться. Код один…
2 ответа

Вызов функции повышения без обратного вызова

Я использую библиотеку boost-beast для подключения к веб-сокету. Вы можете обратиться к этому примеру для понимания происходящего. Я использовал тот же пример, но изменил несколько вещей: разделить on_handshake(beast::error_code ec) на три функции A…
2 ответа

Как сделать асинхронное чтение / запись с веб-сокетами Beast

Как я могу сделать асинхронную запись и чтение, используя веб-сокеты из библиотеки Beast? Я попытался адаптировать пример синхронной записи / чтения, приведенный здесь в документации Beast, но приведенный ниже код не работает должным образом. Я ожид…
15 июн '17 в 09:03
2 ответа

Как избежать обратного вызова ад с boost::beast?

Я работаю над приложением, в котором я хочу использовать boost::beast/asio. Мне нужно получать данные через соединение через веб-сокет и одновременно отправлять запросы в REST API. В примерах асинхронного клиента boost::beast websocket/HTTP кажется,…
11 янв '19 в 19:32
1 ответ

Как прочитать заголовок неверного запроса в beast::websocket?

У меня есть сервер веб-сокетов (прослушивание интерфейса обратной связи), который должен отвечать на запрос GET. Вот как я это делаю ws_.async_accept_ex( [self = shared_from_this()](websocket::response_type& res) // { if (res.result_int() == 400…
08 фев '19 в 19:51
1 ответ

Как передать обработчик чтения в async_read для веб-сокета Beast?

Как мне перезвонить async_read? Я попробовал следующее, но это не скомпилируется. Я основал это на модификации кода из документов #include <beast/core.hpp> #include <beast/http.hpp> #include <beast/version.hpp> #include <boost/a…
29 окт '17 в 01:33
1 ответ

Сервер веб-сокета boost-beast, который также принимает http-соединения

Мне нужно реализовать простой асинхронный сервер веб-сокета, используя boost beast который может принимать как websocket, так и стандартные http-соединения. Я пробовал что-то вроде этого: ... // ws is a boost::beast::websocket::stream<boost::asio…
25 июл '18 в 06:57
1 ответ

Как получить доступ к Beast на Boost 1.66 и 1.67 из CMake

Я пытаюсь сделать проект CMake с Beast, и он правильно установлен из источника в /usr/local/include/boost, но я не могу заставить CMake найти его. Я думал, что это могло быть 3.10.2так я устал 3.11.4 а также 3.12.0-rc1, но ни один не работал. Кто-ни…
21 июн '18 в 03:30
0 ответов

Как эффективно использовать веб-сокеты boost beast с Angular socket.io?

Я разработал простое приложение для связи между угловым клиентом и сервером Boost Beast с помощью необработанных веб-сокетов. Сейчас я пытаюсь использовать socket.io и пользовательские имена событий, но не уверен, как определить эти события на серве…
24 дек '18 в 12:14
0 ответов

Как установить подпротокол с бустом weboscket

Я хочу использовать подпротокол с boost websocket. Например, у меня есть адрес сервера websocket, ws://127.0.0.1:5005. Теперь я хочу заменить его на ws://127.0.0.1:5005/order. order - это подпротокол в websocket, который можно использовать в libwebs…
25 май '19 в 03:45
1 ответ

Как использовать boost::aio::async_connect с лямбдой

Я хочу показать, как использовать boost::aio::async_connect с лямбда-выражением. Boost версия 1.68 Странно, что я мог использовать std:: bind, но не лямбда. Если я использую std:: bind, это работает. Но когда я использую лямбду, это не помогло, и он…
28 май '19 в 11:07
1 ответ

Повышение зверя манипулировать заголовки ответа http во время принятия

Я хотел бы манипулировать HTTP-ответом, отправляемым клиенту websocket во время принятия. Я прочитал примеры и руководство, я могу сократить запрос, проверить, является ли это запрос на обновление websocket, но я не могу манипулировать ответом. Было…
03 мар '19 в 20:45
1 ответ

Проблемы с рукопожатием веб-сокета

Я пытаюсь установить соединение веб-сокета с удаленным сервером и получаю следующую ошибку: удаленное соединение отказалось от рукопожатия WebSocket Я следую этому примеру: https://www.boost.org/doc/libs/1_70_0/libs/beast/example/websocket/client/sy…
28 апр '19 в 01:21
1 ответ

Ускорение проблемы асинхронного сервера Websocket

Я написал асинхронную веб-сокет через boost.beast. Но когда я пытаюсь запустить его, я не могу подключиться. Код сервера, как показано ниже. Когда я пытаюсь подключить свой сервер веб-сокетов, мой chrome показывает состояние подключения. Когда я отл…
14 май '19 в 15:17
1 ответ

Как решить не удалось декодировать текстовый фрейм как UTF 8, хотя увеличить веб-сокет

Я пишу веб-сокет, хотя boost, и получаю сообщение, хотя клиент в chrome. Когда я использую ws, он работает хорошо, я могу получить правильное сообщение. но когда я использую wss, он работает плохо и сказал, что не может декодировать текстовый фрейм …
0 ответов

Как использовать boost websocket для реализации суб-протокола

Я хочу реализовать суб-протокол websocket. Например, у меня есть сервер weboscket как ws://localhost:1234, теперь мне нужен еще один суб-протокол как ws://localhost:1234/sub. Я знаю, что lib-websockets предоставляет эту функцию, но я не нашел ее в b…
20 июл '19 в 09:53
0 ответов

Реализация публикации / подписки с Boost Beast

У меня есть сервер Websocket на основе Boost Beast, и я хочу реализовать шаблон публикации / подписки. Моя текущая база кода основана на расширенном /flex-примере. Есть ли рецепт / шаблон о том, как реализовать паб / подканал с Beast? В частности, м…
15 авг '19 в 03:18
1 ответ

повысить возможность повторного использования websocket и io_context для восстановления возможности соединения

Я написал небольшой websocket клиент, использующий boost::beast::websocket а также boost::asio::io_context в C++. У меня есть конечный автомат со следующими состояниями: enum class State { GDR_PROVISING, WEBSOCKET_HANDSHAKE, REGISTRATION, READY, CLE…
11 дек '19 в 14:10