2016-09-10 6 views
0

標準クラスの機能プロトコルをバイパスして、クライアントからデータを受信する方法は?たとえば、「dataReceived」機能を使用せずに他のすべてのサーバクライアントをフリーズしないで、Twistedで "dataReceived"機能を使用せずにクライアントからデータを受信

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

+0

非同期/非ブロッキングコードをねじれて書く必要があります。関数内に何があるのか​​を表示して、非同期にすることができます。 –

+0

@ ESYSCODERだから、私は理解しています。ありがとう – Rubikoid

答えて

0

難しいことをしない限り、dataReceivedをバイパスすることはできません。 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 
関連する問題