[Python] controllare risposta tcp/ip

Matteo Perini perini.matteo a gmail.com
Mer 22 Ago 2012 15:58:26 CEST


Il 22/08/2012 15:19, Marco De Paoli ha scritto:
>
>
> Il giorno 22 agosto 2012 15:07, Matteo Perini <perini.matteo a gmail.com 
> <mailto:perini.matteo a gmail.com>> ha scritto:
>
>         resp = s.recv(1)
>
>
> perché non metti un valore più alto di 1?
> probabilmente nel tuo caso (in cui mi pare che scambi piccoli comandi 
> di testo) la cosa è ininfluente
> però attenzione, perché un buffer così piccolo può risultare di una 
> lentezza esasperante
>
> Marco
>
Si ci avevo pensato.
Però preferisco la lentezza rispetto all'errore.
In realtà devo trasferire un file xml (sempre lo stesso al cui interno 
cambiano i valori delle variabili) da un dispositivo esterno, al pc.


I caratteri sono circa 1000.

ma anche se uso
resp = s.recv(20000)

(adesso so che i 20000 sono byte)

molte volte resp appare troncato in modo random
e quindi non riesco a farne il parsing per leggere le variabili.

Ho provato a fare il print con print repr(resp)
ma il buffer non contiene caratteri non voluti.

Lo scambio di dati avviene in base all'attività dell'utente ma in media 
2/3 volte al minuto quindi i tempi per me non sono un problema.
Comunque ho fatto due test e il tempo impiegato è circa 1,15 centesimi 
di secondo per 2500 caratteri.

Mi piacerebbe però molto capire come mai la resp viene troncata in modo 
selvaggio e apparentemente senza nessuna spiegazione.

Ciao e grazie
Matteo



-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120822/1c73d553/attachment.html>


Maggiori informazioni sulla lista Python