Асинхронные сокеты в Linux — опрос против обратного вызова через

Решив реализовать асинхронные сокеты на моем простом сервере (linux ), я столкнулся с проблемой. Я собирался постоянно опрашивать ()и выполнять некоторую очистку и кэширование между вызовами. Теперь это кажется расточительным, поэтому я продолжил копать и нашел способ , возможно, реализовать некоторые обратные вызовы на вводе-выводе.

Понесу ли я снижение производительности и, что более важно, будет ли это работать, если я создам сокет с O _NONBLOCK, использую SIOCSPGRP ioctl ()для отправки SIGIO на ввод-вывод и использую sigaction ()для определения функции обратного вызова во время ввода-вывода.

Кроме того, могу ли я определить разные функции для разных сокетов?

5
задан Jon Weldon 1 May 2012 в 15:07
поделиться