2016-09-10 1 views
0

Wie erhalten Sie die Daten vom Client, unter Umgehung der Standard-Klasse-Funktion Protocol? Zum BeispielEmpfangen von Daten vom Client ohne die Funktion "dataReceived" in Twisted

class TW(protocol.Protocol): 
    def get_data(delim = '\n'): 
     #some code 
     return data 

D.h., ohne die Funktion "DataReceived" zu verwenden und nicht alle anderen, die Server-Clients Einfrieren?

+0

Sie müssen asynchronen/nicht blockierenden Code in verdreht schreiben. Zeigen Sie, was in der Funktion ist, damit wir es asynchron machen können. –

+0

@ESYSCODER, also, ich verstehe. Vielen Dank – Rubikoid

Antwort

0

Sie können dataReceived nicht umgehen, es sei denn, Sie mögen Dinge auf die harte Tour machen: D. Sie können tun, was auch immer Sie in get_data() in dataReceived() tun. Alternativ können Sie in Ihrem get_data() einen data Parameter hinzufügen und ein Rückrufformular dataReceived ausführen.

class TW(Protocol): 
    def get_data(data, delim='\n'): 
     # some code 
     return result 

    def dataReceived(self, data): 
     result = self.get_data(data, delim='\r\n') 
     # do some more stuff 
Verwandte Themen