🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #14240

RE: Sockets y multiples conexiones.

#14240
From: Jose Godoy
Date: Mon, 27 Nov 2000 00:00
49 lines
2835 bytes
Juanjo �lvarez <juanjux@NOSPAMyahoo.es> escribi� en el mensaje de noticias
slrn90isdr.1of.juanjux@Pascual.es...
> Santiago Romero dijo sobre Sockets y multiples conexiones.,
> en fecha: Tue, 7 Nov 2000 22:36:09 +0100
>
> | las conexiones entrantes. �tengo que hacer un vector para las
> | conexiones y recorrerlo con un bucle? �usar el fork ese (que no
> | s� usar) para duplicar el programa? :?
> |
> | En fin, como A. Gutierrez anda por aqui, planteo mi pregunta en
> | busca de ayuda ;)
>
> Hola Santi.
>
> Lo habit'ual (arggg los acentos, maldita konsole), es utilizar el metodo
> que comentas del fork o utilizar select() con una lista de sockets y ir
> atendiendo aquellos en los que haya actividad.
>
> Para una especia  de 'IRC descafeinado' como el que  comentas yo tiraria
> por el metodo de select aunque el del fork es mas sencillo.
>
> Dale un vistazo a esto, que seguro que te gusta:
>
> http://www.clickeas.com/linux/archivos/net.tar.bz2
> --
> http://www.clickeas.com/linux

------------

�Como que , "Para una especia  de 'IRC descafeinado' como el que  comentas
yo tiraria por el metodo de select aunque el del fork es mas sencillo"......


Al hablar de fork(), imagino que estas hablando del servidor. Solo hay una
forma, o almenos es la unica que conozco, de atender a multiples clientes. Y
esa forma es utilizando un proceso hijo para cada uno de ellos, claro esta
con fork().

Por otro lado tenemos a nuestro amigo select(), el cual nos informa del
socket que ha recibido actividad. Tenemos que tener un array o cualquier
otro tipo de estructura que contenga todos los sockets que tengamos
abiertos, uno por cada cliente.

En definitiva, y para no hacerme muy pesado, en un servidor de irc, tanto
descafeinado como sin descafeinar, fork() y select() est�n intimamente
relacionados, y por supuesto no puede estar el uno sin el otro. Fork() crea
hijos que atienden conexiones, y select() nos informa del cliente que
escribe o el hijo que lee de un socket.
Technical Details
Message-ID: <CJBU5.52603$k06.1381341@telenews.teleline.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <9ks9u8.jc.ln@127.0.0.1> <slrn90isdr.1of.juanjux@Pascual.es>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,8bfdad65296f88d
X-Google-Attributes: gidf86c8,public
From: "Jose  Godoy" <josebeg@teleline.es>
Subject: RE: Sockets y multiples conexiones.
Date: 2000/11/27
Message-ID: <CJBU5.52603$k06.1381341@telenews.teleline.es>
X-Deja-AN: 698443959
References: <9ks9u8.jc.ln@127.0.0.1> <slrn90isdr.1of.juanjux@Pascual.es>
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
X-Complaints-To: newsmaster@company.com
X-Trace: telenews.teleline.es 975366114 195.57.29.134 (Tue, 28 Nov 2000 00:01:54 MET)
Organization: Typhoon Authentication Testing Club
X-MSMail-Priority: Normal
Reply-To: "Jose  Godoy" <josebeg@teleline.es>
NNTP-Posting-Date: Tue, 28 Nov 2000 00:01:54 MET
Newsgroups: es.comp.os.linux.programacion