Поддерживает ли posix aio в linux 2.6 дескриптор файла сокета? - PullRequest
3 голосов
/ 13 октября 2010

Я задавал такой вопрос в Google и получил разные ответы. Я не могу определить, поддерживает ли posix aio в linux 2.6 дескриптор файла сокета или нет.

, если он поддерживает сокет tcp, делает aiocb.aio_offset = 0 относительно первого байта, полученного из tcp-сокета fd ?

, если это не так, поддерживает ли какая-либо асинхронная библиотека io в linux сокет fd?

1 Ответ

0 голосов
/ 29 февраля 2012

В приведенном выше комментарии говорится, что aio не поддерживает сокеты.Вы спрашиваете о возможных альтернативах.

Очевидные из них:

  • используют модель программирования, основанную на событиях, либо созданную вручную с использованием poll (2), либо из того, что есть у вас, или из библиотекинапример, Niels Provos "libevent"
  • использует потоки

Я обычно предпочитаю управляемый событиями способ работы и обычно использую libevent, который описан здесь: http://libevent.org/

Имейте в виду, однако, что программирование, управляемое событиями, довольно сильно отличается от того, к чему вы привыкли при организации программ.Потоки концептуально похожи, но часто менее эффективны при работе с большим количеством сокетов.

...