2013/8/25 Manlio Perillo <manlio.peri...@gmail.com>

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Il 25/08/2013 12:09, Giampaolo Rodola' ha scritto:
> > [...] L'approccio asincrono │ in genere la cosa pi indicata per
> > far scalare (di molto) applicativi di questo tipo ma a questo
> > livello (socket raw) forse Twisted & co. non forniscono strumenti
> > utili (potrei sbagliarmi). In tal caso puoi usare direttamente
> > epoll()
>
> epoll, fornisce il supporto per il polling, non di certo per i raw socket.
>

epoll(), select() e compagnia ti notificano quando è il caso di leggere e/o
scrivere da/su un file descriptor e il fatto che il socket sia raw non fa
alcuna differenza: è un fd tanto quanto un socket "classico".
Il vero problema nel caso del "ping" sono i permessi.


> Twisted fornisce proprio un supporto generico per il polling, e tanto
> altro.
>

Sicuramente, ma banalmente quello che si dovrebbe fare in questo caso
(problema di permessi a parte) è usare epoll()/select() prima di sendto() e
recvfrom() e fine della storia.
Se Twisted fornisce un'API per agganciare a posteriori un socket esistente
tanto meglio, ma il task mi pare talmente semplice che probabilmente non
vale neanche la pena tirarlo in ballo.


--- Giampaolo
https://code.google.com/p/pyftpdlib/
https://code.google.com/p/psutil/
https://code.google.com/p/pysendfile/
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a