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


Répondre à