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