Ce tip suppose que l'on ait déjà utilisé des sockets. Pour une introduction pratique à l'utilisation des sockets, voir “ SCKTPROC Eases RPG Sockets Programming ”, NEWS/400, juin 1999. Ce tip s'appuie sur cet article. Quand on utilise des sockets, le mode par défaut d'une fonction de réception est appelé
Mettre les sockets en mode de non-blocage
“ blocage ”. A savoir que si la fonction recv() n’a rien à recevoir, elle s’immobilise et attend de recevoir quelque chose (autrement dit, elle “ bloque ” le flux de traitement).
Changer en mode non blocage : D F_SETFL c 7 |
Comme le blocage est parfois indésirable, il est utile qu’il cesse (par timeout) après quelques secondes. C’est possible en changeant le mode en “ nonblocking ”, signifiant ainsi que si recv() n’a rien à recevoir, il renverra immédiatement un code retour de EWOULD BLOCK (indiquant qu’il bloquerait si l’on était en mode blocage). On peut ensuite coder sa propre boucle de temporisation (timeout) autour de la fonction recv().
Comme le montre l’encadré ci-dessus, pour passer en mode nonblocking, il faut appeler la fonction fcntl(). Ce qui a pour effet de changer le socket en nonblocking. Ce changement est indispensable avant d’exécuter la fonction recv() ou recvfrom().
Chris Woodhead, analyste/programmeur
Baycorp Holdings
Auckland, Nouvelle Zélande
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- ADI, l’infrastructure de données de Scality pensée pour l’ère de l’IA et de la souveraineté
- Les coûts cachés des merge requests générées par l’IA
- WatchGuard lance Rai, une IA agentique taillée pour les MSP
- Mythos révèle les limites d’un Zero Trust centré sur le réseau
Articles les + lus
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Avril 2026
À la une de la chaîne Tech
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Avril 2026
