[Python] Utilizzo di Readline con socket

Manlio Perillo manlio_perillo a libero.it
Mer 30 Gen 2008 12:58:21 CET


De Santis Luca ha scritto:
> Premetto che sto parlando di python per s60
>  
> Ho risolto i problemi di bloccaggio del telefono come mi avevate 
> consigliato, eliminado i socket globali e li ho passati alle funzioni 
> come argomenti e magicamente tutto funziona :)
>  

Mi sembra strano...

> Ora però ho un altro problema con l'utilizzo di Readline per leggere i 
> dati dai socket, ho questa funzione:
>  
> def Listen(PhoneConnection):
>     global DebugMode


NOTA: le variabili dovrebbero iniziare con una lettera minuscola.


>     try:
>      if PhoneConnection:
>          print "- Init listen port sevice"
>          fd = PhoneConnection.makefile("rw", 0)
>         while True:
>             TmpInfo=GetPhoneInfo()
>             
> ToSend="StatChn:"+str(LastSignal)+";"+str(LastBattery)+";"+str(LastOperator)
>             talk(PhoneConnection,ToSend)
>             reply = fd.readline()
>             ParseCommand(reply)
>     except:
>      appuifw.note(u"Connection lost", "info")
>      if PhoneConnection:
>          PhoneConnection.close()
>             print "Bye!"
>  
>  
> La funzione readline() mi blocca lo script fino a che non mando qualcosa 
> dal pc tramite la seriale, é normale che si comporti così ? 

Si.
readline blocca fino a che non riceve una "linea" completa.


Ma non stavi parlando di socket? Come funziona il collegamento via seriale?


> Pensavavo 
> che guardasse il contenuto dela linea e continuava l'esecuzione dello 
> script. PhoneConnection passato come arcgomento della funzione Listen é 
> il socket
> 


Manlio Perillo


More information about the Python mailing list