[pyar] Sockets

Martin Cerdeira martincerdeira en gmail.com
Lun Sep 6 22:07:28 ART 2010


2010/9/6 Juanjo Conti <jjconti en gmail.com>

> 2010/9/7 Martin Cerdeira <martincerdeira en gmail.com>
>
> La intención era hacer una especie de echo o relay server. Lo que estaba
>> armando ahora era la parte que "escucha" conexiones, es decir, lo que quise
>> hacer, fallidamente, fue poner 2 sockets, uno escuchando en el puerto 1433,
>> y el otro en el puerto 9999.
>
>
> Acá tenés un ejemplo justamente de eso
> http://docs.python.org/library/socket.html#example
>
> --
> Juanjo Conti
> blog: http://www.juanjoconti.com.ar
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>

En el ejemplo, hay 2 scripts que se conectan "entre sí".

Lo que yo necesito es, en el mismo script, ponerme a escuchar en 2 puertos
distintos, como si fuera así:

s1.bind(('', 9999)) # un puerto
s1.listen(1)
s2.bind(('', 6000)) # otro puerto (y otro socket)
s2.listen(1)

Eso es lo que no funciona (aparentemente, no se puede) Quizá, estoy
encarandolo mal. Lo que yo estoy tratando de hacer es, generar una conexión
"inversa" (se que hay otras maneras, pero quería escribir un script en
python que lo haga) Supongamos, este caso:

Tengo un VNC server al que me quiero conectar (Puerto 5999) pero, está
detrás de un router y, no quiero ni puedo agregarlo, por ejemplo, a un
virtual server. Entonces, con 2 scripts (en realidad, 1 que tiene un
server_mode y un client_mode) quería hacer lo siguiente:

ECHO2 --> Listen 9999 (internet)
            --> Listen 6000 (local)


ECHO1 --> Connect ECHO1:9999 (internet)
            --> Connet VNC:5990 (local)

1) ECHO2 escucha en 6000(local) y 9999 (internet)
2) ECHO1 se conecta a ECHO2:9999
3) VNC se conecta (o manda data) a ECHO2:6000
4) ECHO2 forwardea la data que recibe en 6000 >> 9999
5) ECHO1recibe data, crea una conexión (si no está establecida) con VNC:5990
y forwardea
6) ECHO1 forwardea la data que recibe en 9999>>6000
7) ECHO2 forwardea la data que recibe en 9999>>5990
8) Ir al paso 2

-------------------------------------
Martín Cerdeira - Software Developer
[web] http://www.codmacs.blogspot.com/
()  ascii ribbon campaign
/\  www.asciiribbon.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100906/cb2f225c/attachment.html>


More information about the pyar mailing list