<div dir="ltr">2013/8/25 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
</div>Il 25/08/2013 12:09, Giampaolo Rodola' ha scritto:<br>
> [...] L'approccio asincrono │ in genere la cosa pi indicata per<br>
<div class="im">> far scalare (di molto) applicativi di questo tipo ma a questo<br>
> livello (socket raw) forse Twisted & co. non forniscono strumenti<br>
> utili (potrei sbagliarmi). In tal caso puoi usare direttamente<br>
> epoll()<br>
<br>
</div>epoll, fornisce il supporto per il polling, non di certo per i raw socket.<br></blockquote><div><br></div><div>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".</div>
<div>Il vero problema nel caso del "ping" sono i permessi.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Twisted fornisce proprio un supporto generico per il polling, e tanto<br>
altro.<br></blockquote><div><br></div><div>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.</div>
<div>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.</div><div><br></div><div>
</div><div style="font-family:arial,sans-serif;font-size:12.666666984558105px">--- Giampaolo</div><div style="font-family:arial,sans-serif;font-size:12.666666984558105px"><div><a href="https://code.google.com/p/pyftpdlib/" target="_blank">https://code.google.com/p/pyftpdlib/</a></div>
<div><a href="https://code.google.com/p/psutil/" target="_blank">https://code.google.com/p/psutil/</a></div></div><div><a href="https://code.google.com/p/pysendfile/" target="_blank" style="font-family:arial,sans-serif;font-size:12.666666984558105px">https://code.google.com/p/pysendfile/</a> </div>
</div></div></div>