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