Я использую сетевой канал Haskell для фильтрации трафика:
void $ concurrently
(runConduit $ appSource extClient .| conduitParser T.parsePacket .| filterMQTTin wi permst extClient .| appSink intServer) --traffic downstream
(runConduit $ appSource intServer .| conduitParser T.parsePacket .| filterMQTTout wi permst intServer .| appSink extClient) --traffic upstream
Это хорошо работает. Трафик как клиент-сервер, так и сервер-клиент фильтруется функциями filterMQTTin/out
. Однако я хотел бы предпринять некоторые действия в случае, если TCP-соединение закрыто (либо клиентом, либо сервером). Как я могу это сделать? Спасибо!