-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Il 23/03/2012 19:40, Enrico 'Henryx' Bianchi ha scritto: > Mi ritrovo con un problema rognoso nella lettura dei dati via socket. Via > client, uso questi metodi per inviare i dati: > > def get(self): > [... a great effort ...] > yield json.dumps([result], ensure_ascii=False) > > for item in res.get(): > conn.send(item + "\n") > > Via server, uso questo codice per leggere i dati: > > while True: > data = conn.makefile().readline() > if not data: > break > datajson = json.loads(data.decode("utf-8")) > > Ora, il problema e` che la prima riga la leggo correttamente, dalla seconda > in > poi mi vengono riportate righe spezzate, mandando la conversione da stringa a > JSON in pappa, con conseguente errore. Come risolvo?
Devi inventarti un protocollo più corretto per inviare i dati. Separare i vari "record" con "\n" non è molto furbo, perchè è un carattere che potrebbe essere presente nel record stesso. Su IRC ricordo di averti consigliato di studiare le Netstrings, o simili. > [...] Ciao Manlio -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk9sz6YACgkQscQJ24LbaUTRYgCdHT0hgQFVoujv2flx6nq9mSrp LGsAn2u3erUtbHWCMuCOxrHfsY+rOtb9 =JPYn -----END PGP SIGNATURE----- _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python