[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] linux et Pipes



Yves Rutschle wrote:

On Tue, May 11, 2004 at 09:43:16PM +0200, Jeremy Monnet wrote:

C'est un programme client/server et ils ont choisi de forker le processus server pour chaque client connecté. donc 100 clients, 100 processus servers, et donc 100 pipes entre le "maitre" et les servers .... ?????

Ca marche toujours comme ca ? (c'est vraiment une question, sachant que je n'y connais vraiment rien en C)
Même si l'affaire posée comme cela semble folle, c'est pourtant la technique qui était utilisée jusqu'à il n'y a pas si longtemps : Un serveur "père" appelé "père d'écoute" est en listen sur le port qui va bien, dès qu'il reçoit une demande de connexion, il se duplique (fork), et c'est le fils qui fait le ACCEPT. Le papa se remet ensuite à l'écoute.

Cette technique a été très souvent utilisée, par contre elle est lourde et gourmande en ressources, de plus la communication inter-processus est compliquée.

Pour résoudre le même pb aujourd'hui, on utilise plutôt des prosessus légers (threads) qui simplifient grandement la programmation et permettent une communication interprocessus souple.
Bien entendu, les threads permettet l'utilisation des mutex, sémaphores...

Bon courage.

Alexis




Reply to: