Инструменты пользователя

Инструменты сайта


dev:c:libevent:evhttp_ne_zakryvaet_soedinenija_pri_obryve_svjazi

====== evhttp не закрывает соединения при обрыве связи ====== ===== Описание ===== При вызове **evhttp_send_reply_start** и установке обратной функции на закрытие соединения (**evhttp_connection_set_closecb**) эта функция не вызывается, соединение остаётся в состоянии CLOSE_WAIT до первой посылки данных. ===== Причина ===== В коде libevent используется отключение слежения за событием прихода данных от клиента (EV_READ), а закрытие соединения инициирует именно это событие. ===== Решение ===== Включить обратно отслеживание событий прихода данных от клиента **bufferevent_enable(evhttp_connection_get_bufferevent(evcon), EV_READ)**. ===== Информация ===== Источник: [[http://archives.seul.org/libevent/users/Aug-2012/msg00002.html | Connections not closed by evhttp]]

Дискуссия

Enter your comment
 
dev/c/libevent/evhttp_ne_zakryvaet_soedinenija_pri_obryve_svjazi.txt · Последние изменения: 08.11.2012 09:48 (внешнее изменение)

Инструменты страницы