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

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


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).

Информация

Дискуссия

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

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