🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Sockets asincronos en Linux

#17856
From: Juan Carrasco
Date: Wed, 20 Oct 1999 00:00
41 lines
3113 bytes
  Estoy intentando construir una clase en C++ que encapsule el uso de los
sockets en Linux. Soy b�sicamente un programador de Windows y me gustar�a
conseguir que los sockets en Linux funcionaran igual que en Windows, es
decir, los creas y te olvidas de ellos, cuando tienen datos para leer o
conexiones para aceptar simplemente te avisan y ya est�. Llevo unos cuantos
d�as consultando documentaci�n, tanto la ayuda de Linux sobre sockets como
el manual de la librer�a de GNU para C. En esta documentaci�n he descubierto
varias opciones que podr�an servirme para dar esa funcionalidad a los
sockets en Linux. Entre otras, las que m�s me gustan son crear hilos
encargados de escanear la entrada de datos para avisar cuando se puede leer
o establecer los sockets en modo asincrono y que envien una se�al SIGIO
cuando tengan datos para leer.

  Seguramente la palabra Windows har� que alguno se tire de los pelos, pero
bueno, hasta lo malo tiene de vez en cuando algo aprovechable.

  La cuesti�n es la siguiente, he trabajado con Linux tanto a nivel de
usuario como de programaci�n, ya he programado sockets en Linux y me han
funcionado, pero lo que hicimos en aquellas pr�cticas es totalmente
inpracticable ahora, no puedo tener el programa que queremos hacer
funcionando como hicimos aquello, por diversas razones. Aunque conozco algo
el sistema, hemos hecho muchas pr�cticas con �l durante la carrera, no
termino de entender el concepto de las se�ales.
  Lo ideal ser�a que cada socket se enterara de cuando dispone de datos, y
en un programa puedo tener varios sockets funcionando, por lo que con SIGIO
me har�a falta un mecanismo extra para saber que sockets existen y detectar
el que tiene datos, adem�s de que no se que capacidades tengo para llamar
funciones desde un manejador de se�al.
 La opci�n de hilos dedicados es interesante y quiz� m�s completa, pero c�mo
se consigue que un hilo avise a otro (descartadas las se�ales), porque la
idea es que esto lo utilice cualquiera sin tener que hacer m�s trabajo que
crear y usar los sockets. O sea, que no quiero que quien utilice esta
librer�a tenga que definirse ni establecer manejadores de se�ales.
  Quiz� no me he explicado bien, pero si alguien capta el concepto y se le
ocurre alguna forma de hacer que alguien que utilice un socket se pueda
olvidar de �l si quiere, pues que me conteste.
  Gracias por adelantado.

  Juan.

  jcarras@glup.irobot.uv.es
Technical Details
Message-ID: <7uk83t$8v7$1@peque.uv.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,d174b8549cf7b4e8,start
X-Google-Attributes: gidf86c8,public
From: "Juan Carrasco" <jcarras@glup.uv.es>
Subject: Sockets asincronos en Linux
Date: 1999/10/20
Message-ID: <7uk83t$8v7$1@peque.uv.es>
X-Deja-AN: 538379774
Distribution: es
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
X-Complaints-To: postmaster@uv.es
X-Trace: peque.uv.es 940417981 9191 147.156.160.4 (20 Oct 1999 11:13:01 GMT)
Organization: Universitat de Valencia
NNTP-Posting-Date: 20 Oct 1999 11:13:01 GMT
Newsgroups: es.comp.os.linux.programacion