2016-09-10 30 views
0

如何從客戶端接收數據,繞過標準類功能協議?例如,從客戶端接收數據而不使用Twisted中的「dataReceived」功能

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

即,沒有使用「dataReceived」函數,並且不凍結所有其他服務器客戶端?

+0

你必須編寫扭曲的異步/非阻塞代碼。顯示函數中的內容,以便我們可以使其異步。 –

+0

@ESYSCODER,所以,我明白了。謝謝 – Rubikoid

回答

0

你不能繞過dataReceived,除非你喜歡以艱難的方式做事:D。你可以在get_data()dataReceived()中做任何你正在做的事。或者,您可以在get_data()中添加一個data參數,並執行dataReceived的回撥形式。

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 
相關問題