<br><br><div class="gmail_quote">2011/7/14 Simone Ziraldo <span dir="ltr"><<a href="mailto:simone.ziraldo@gmail.com">simone.ziraldo@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Se durante lo sleep di 15 secondi chiudo la connessione WiFi il server non si accorge di niente e rimane ad aspettare su conn.recv(1024)...come posso risolvere questo problema? Avete qualche idea?<br></blockquote><div><br>
ehm non si tratta di una connessione wi-fi bensì di una connessione TCP/IP<br>il fatto che sia wi-fi è un dettaglio implementativo, fosse via cavetto ethernet il discorso sarebbe esattamente lo stesso<br>(scusa è che se no sembra che le socket abbiano a che fare esclusivamente con le connessioni wi-fi quando invece sono un astrazione moolto più generale generale)<br>
<br>venendo al tuo problema: non mi risulta che sia possibile, per risolvere un problema simile costringevo il client a mandarmi un pachetto di acknowledge entro tot secondi<br><br>in pratica il ruolo di tale pacchetto era esclusivamente quello di segnalare "sono ancora vivo"<br>
<br>se il server non riceveva dati o acknowledge entro tot tempo assumeva che il client fosse morto e chiudeva la socket<br><br>adesso non ricordo a memoria i dettagli ma più o meno il giro era quello che ti ho detto (a parte il fatto che l'avevo fatto in C++ invece che in python)<br>
<br>ora mi viene in mente che il mio caso era leggermente diverso: il problema i client potevano lanciare elaborazioni potenzialmente grosse sul server<br><br>ecco perché sul server avevo messo un thread di monitoring che verificava che il client fosse ancora vivo, in caso contrario killava l'elaborazione liberando risorse<br>
<br>just my two cents<br></div></div>Marco<br>