Неблокирующий UDP recv в Haskell

Я все еще изучаю основы Haskell и в настоящее время работаю над переносом некоторого кода Java на Haskell.Моя текущая проблема заключается в UDP recvFrom с использованием Network.Socket.ByteString.Проблема с этим методом :Дело в том, что когда я использую Network.Socket.ByteString.recvFrom, мои блоки кода в этот момент ждут прихода пакета.Он не возвращает что-то вроде Maybe, чтобы указать, было ли что-то получено или нет (так же, как в Java, возвращается null, когда данные не были доступны)Я нашел эту ветку: https://mail.haskell.org/pipermail/haskell-cafe/2010-August/082725.htmlВ конце предлагается несколько способов: 1) FFI 2) запустить recvFrom в собственном потокеЯ не уверен, что смогу использовать какой-либо из этих подходов в данный момент (недостаточно знаний).Я хочу получить что-то похожее на способ неблокирующего приема в Java: получить необходимую информацию, если она доступна, или ничего, если нет единого пакета UDP.Кто-нибудь может указать, что было бы лучше, какие-либо фрагменты кода, кто-то уже справился с этой проблемой?
7 голосов | спросил ksaveljev 13 PMpMon, 13 Apr 2015 12:39:20 +030039Monday 2015, 12:39:20

0 ответов


Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132