[gl-como] programma python

Brisa Francesco fbrisa@yahoo.it
Lun 3 Maggio 2004 21:45:43 CEST


Avevo una idea per la creazione di un programma che prendesse un flusso di 
dati I/O da una qualunque fonte, e lo potesse redirigere ad una qualunque 
fonte.

fonte=[tcp/ip, seriale, pipe, file,device,etc]

il programma non dovrebbe essere enorme e potrebbe essere di buon uso per 
molti.

Se vi interessa lo possiamo sviluppare insieme al gl-como, proporrei come 
linguaggio il python.

Per chi non conosce il linguaggio potrebbe diventare una buona occasione per 
impararlo, in quanto potremmo unire la programmazione con l'insegnamento di 
un ottimo linguaggio.

Ho bisogno di un vostro feedback, se no lo faccio io per i fatti miei, ma mi 
sarebbe piaciuto tanto condividere una esperienza di programmazione con 
tutti, anche perchè le ultime sere sono state un poco piatte.

Faccio uno schemino di esempio su quello che ho in mente:




/dev/ttyS0 <=== DATI I/O ===> [PROGRAMMA] < == > tcp/ip
oppure
pipe <=== DATI I/O ===> [PROGRAMMA] < == > file di testo
oppure
/dev/ttyS0 <=== DATI I/O ===> [PROGRAMMA] < == > /dev/ttyS1

oppure mandare / unire più flussi su più entrate ed uscite
una cosa utile che si potrebbe fare è quella tra due connessioni tcp/ip:

tcp/ip <=== DATI I/O ===> [PROGRAMMA] < == > tcp/ip

in questo modo si potrebbero realizzare dei forwarding a livello di user space
esempio:

si dice al programma che resta in ascolto sulla porta 666
e tutte le nuove connessioni che arrivano su quella porta, forkano il 
programma con dei thread che tentano di attaccarsi ad una altra porta su un 
altro ip.

1:

        *:300
[PROGRAMMA]
[ IN ASCOLTO]


2:
arriva una connessione, 

           ||||
        *:300
[PROGRAMMA]
[ IN ASCOLTO] 

3:il programma forka, il figlio si connette con un altro socket di uscita, il 
padre resta in ascolto per altre connessioni


                                                     ||||||
        *:300                          153.25.23.2:4677
[PROGRAMMA]              [PROGRAMMA]
[ IN ASCOLTO]                           ||||
                                            192.168.0.3:80


4: fase successiva, si potrebbe mettere una valvola per regolare la velocità 
del lusso in entrata / uscita dei dati da qualsiasi parte.




<CIAO>   SALUTAMMO   </OAIC>







Maggiori informazioni sulla lista gl-como