J'ai récemment rencontré quelque chose appelé IOCP sur la plate-forme Windows, pour être plus précis: Ports de contrôle d'entrée/sortie. Cela semble être le moyen le plus efficace pour coder votre logiciel serveur quand il doit contenir des milliers d'utilisateurs simultanément. (Corrigez-moi si je me trompe, mais les threads par socket, l'interrogation et les rappels asynchrones (thread sur chaque callback) ne sont pas assez efficaces.)IOCP, bibliothèques multi-plateformes?
Je me demande s'il existe des bibliothèques tierces disponibles mettre en œuvre ce concept. Je sais que l'API win32 nous fournit CreateIoCompletionPort, FreeBSD a kqueue et linux en général peut utiliser/dev/epoll qui fonctionne de manière similaire ... Mais n'y a-t-il pas une bibliothèque crossplatform (comme boost :: thread) qui gère ce genre de choses pour moi?
En fait, IOCP signifie port d'achèvement d'E/S et non «port de contrôle». –
Et vous n'avez absolument rien à redire sur le dévouement des threads par client. Vous rencontrez rapidement de graves problèmes de changement de contexte, généralement dans le premier millier de clients sur la plupart des systèmes d'exploitation (Windoze est un exemple stellaire de cela). – WhozCraig