Форум программистов, компьютерный форум CyberForum.ru

Решить проблему: простой веб сервер на основе boost::asio падает именно при первом же обращении к серверу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Раздельная компиляция: как быть, если код не компилируется, так как два файла подключают друг друга? http://www.cyberforum.ru/cpp-beginners/thread1799498.html
Доброго времени суток. У меня есть какой-нибудь x.h: #include "y.h" class A { vector<B*> v; } и y.h:
C++ Программа, которая "переворачивает" последовательность положительных целых чисел На вход подаются целые, положительные числа через пробел. Программа считывает их до тех пор, пока не встретит в последовательности 0. Т.е. 0 это остановка чтения. Цель - вывести эту последовательность в обратном порядке через пробел(0 не выводить). Ограничения: нельзя использовать циклы, массивы, строки, контейнеры. Есть подсказка: надо использовать рекурсию. Сама задача относится к теме... http://www.cyberforum.ru/cpp-beginners/thread1799476.html
Реализовать функцию без параметров, определяющую количество символов, отличных от пробела C++
Задача: Описать функцию next() без параметров, которая считывает с клавиатуры первый символ, отличный от пробела, и объявляет его своим значением. Использовать эту функцию для подсчета количества отличных от пробела символов вводимого текста. Код: #include <iostream> #include <string> using namespace std; int next(); int main()
Нюансы синтаксиса: что означает запись for ( ; ; ) ? C++
Встретила в программе такую строку: for ( ; ; ) { // some code } Кто может объяснить по какому принципу она работает, не совсем понимаю. Гуглила - ничего похожего не смогла найти
C++ _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) http://www.cyberforum.ru/cpp-beginners/thread1799412.html
Нужна помощь гуру. Искать ошибку тут в коде ненужно, сам все нашёл, мне нужно объяснение почему так происходит, увы нигде не нашёл внятного ответа. Ниже написана простенькая реализация класса, в ней присутствует динамическое выделение памяти под строку символов. Наследования нет. Реализован конструктор копирования и перегружен оператор присваивания. Вопрос в том почему происходит(как я понял...
C++ Из одного статического массива получить три динамических Всем привет. Возникла сложность с такой задачей. Написать функцию, которая получает указатель на статический массив и его размер. Функция распределяет положительные, отрицательные и нулевые элементы в отдельные динамические массивы. Код я написал, но постоянно появляется ошибка. Вроде как не отчищается память. но как исправить не могу разобраться. Может кто помочь? #include <iostream>... подробнее

Показать сообщение отдельно
Nosey
1344 / 395 / 107
Регистрация: 22.10.2014
Сообщений: 860
Завершенные тесты: 2
30.08.2016, 17:30     Решить проблему: простой веб сервер на основе boost::asio падает именно при первом же обращении к серверу
sys_beginner, А ответ еще нужен?

www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload1.html

Цитата Сообщение от sys_beginner Посмотреть сообщение
size_t len = sock->read_some(boost::asio::buffer(data));
This function is used to read data from the stream socket. The function call will block until one or more bytes of data has been read successfully, or until an error occurs.
....
Exceptions
boost::system::system_error
Thrown on failure. An error code of boost::asio::error::eof indicates that the connection was closed by the peer.
Цитата Сообщение от sys_beginner Посмотреть сообщение
Но несмотря на то что запрос/ответ проходит успешно сервер все равно падает после первого обращения!
Ну т.е. это нормально поведение. Браузер получил ответ и разорвал конект -> бросилось исключение. Да и вообще в бусте любят исключения, иногда даже слишком - обязательно документацию читайте.
Например вот есть перегруженный read : http://www.boost.org/doc/libs/1_37_0...overload2.html
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru