875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
||||||
1 | ||||||
Решить проблему: простой веб сервер на основе boost::asio падает именно при первом же обращении к серверу27.08.2016, 19:06. Показов 2187. Ответов 17
Метки нет (Все метки)
Запускаю код указанный ниже, но при обращении на айпи и порт который слушает сервер, сервер падает (debug error, abord)
А браузер пишет 127.0.0.1 refused to connect. Что я делаю не так? Программа слушает 2011 порт, обращаюсь из браузера так: 127.0.0.1:2011 Возвращаю корректный ответ клиенту по протоколу HTTP До запроса к серверу он нормально живет и слушает порт 2011 (проверял). Падает именно при первом же обращении к серверу
Убрал while(true) в функции client_session, теперь страница отображается в браузере но возвращаемый ответ с сервера все равно не виден. Тело ответа пустое Добавлено через 3 минуты Ура! Теперь ответ возвращается. Нужно было вместо sizeof(response) написать response.length(); Но несмотря на то что запрос/ответ проходит успешно сервер все равно падает после первого обращения! В чем может быть причина?
0
|
27.08.2016, 19:06 | |
Ответы с готовыми решениями:
17
Mongoose vs Boost.Asio (веб-сервер) Boost - asio | Подключение к серверу ВКонтакте Boost::Asio клиент - сервер: При вводе с телнета на стороне сервера появляется куча крякозябр Асинхронный сервер и клиент Boost Asio |
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
|
|
29.08.2016, 14:31 | 2 |
Продолжаем следить за ситуацией на
0
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
30.08.2016, 17:30 | 4 |
sys_beginner, А ответ еще нужен?
www.boost.org/doc/libs/1_37_0/doc/html/boost_asio/reference/basic_stream_socket/read_some/overload1.html Например вот есть перегруженный read : http://www.boost.org/doc/libs/... load2.html
1
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
30.08.2016, 17:47 | 6 |
Да, не факт, но выхода из
client_session отличного от грохнуть приложение нету, так что это большая проблема которая похожа на причину сего поведения.
0
|
Nosey
|
30.08.2016, 18:01
#8
|
0
|
Kastaneda
|
30.08.2016, 18:03
#9
|
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
30.08.2016, 19:28 [ТС] | 10 |
Уже не падает, мистика... может был какой нибудь конфликт...
Впрочем даже когда оборачивал в try catch то исключение не ловилось интересно почему
0
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
30.08.2016, 19:35 | 11 |
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
30.08.2016, 19:45 [ТС] | 12 |
Nosey,
Содержимое мейна, сам мейн не оборачивал
0
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
30.08.2016, 19:59 | 13 |
Этож разные потоки, исключения так не умеют бегать.
Функция потока в контексте исключений это как main - если в верхней функции исключение не поймать отправитесь в std::terminate. Если очень нужно пробрасывать исключения, то делать это нужно ручками, можете заглянуть сюда: http://en.cppreference.com/w/c... _exception
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
30.08.2016, 20:58 [ТС] | 15 |
Спасибо. Но почему это разные потоки? У буста ведь написано что он thread safe и насколько я понимаю исключения должны быть пойманы?
0
|
30.08.2016, 21:04 | 16 |
потому что ты руками создаешь новый поток на каждое подключение (строка 32 в первом посте).
thread safe означает, что он (кстати кто "он"?)) безопасен для для использования в параллельных потоках, но это не значит, что он не кидает исключения.Добавлено через 1 минуту что значит thread safe
1
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|
30.08.2016, 21:08 | 17 |
sys_beginner, Вы совсем запутались.
Попробуйте почитать пару статей по исключениям/многопоточности, а лучше пару книг, и постарайтесь помедитировать и познать дзэн С++, не отчаивайтесь когда поймёте, что нифига не знаете и нифига не может познать этого дзэна дзэн С++ это вещь недостижимая, но попытаться обязательно нужно.
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
30.08.2016, 21:13 [ТС] | 18 |
Да...Запутался, буду учиться ) спасибо за помощь
0
|
30.08.2016, 21:13 | |
30.08.2016, 21:13 | |
Помогаю со студенческими работами здесь
18
Обратный прокси-сервер с использованием boost::asio При обращение к серверу клиента, сервер падает без каких видемых причин Boost::Asio Сделать так, чтобы сервер отвечал на запросы из браузера Синтаксические ошибки при сборке проекта с использованием Boost.Asio Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |