[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