[Python] controllare risposta tcp/ip
Andrea Francia
andrea a andreafrancia.it
Mer 22 Ago 2012 15:46:22 CEST
2012/8/22 Matteo Perini <perini.matteo a gmail.com>
> s = socket.socket(socket.AF_INET,**socket.SOCK_STREAM)
> s.connect(("192.168.1.100",**5001))
> s.send('comando')
>
> r=""
> i=0
> while True:
> resp = s.recv(1)
> r=r+str(resp)
> if r[-10:]=="</endtag>\r\n":
> break
>
Non mi convince molto il fatto che smetti di ricevere quando ricevi
"</endtag>\r\n"
Se non dico stupidate (e potrei) stai usando una informazione a livello di
applicazione (application layer) per controllare una cosa che é a livello
di trasporto. La cosa mi puzza. Cosa succede quando il client ti manda solo
fino a "</endtag>", senza "\r"?
Mi piacerebbe consigliarti il modo giusto ma sulla documentazione non l'ho
visto. Se funzionasse come dico io dovrebbe andare bene usare questo if al
posto del tuo (ma é una mia supposizione):
if resp = '':
break
Ciao
--
Andrea Francia http://andreafrancia.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120822/e160323d/attachment.html>
Maggiori informazioni sulla lista
Python