【问题标题】:Receive data from client without using "dataReceived" function in Twisted不使用 Twisted 中的“dataReceived”函数从客户端接收数据
【发布时间】:2016-09-10 11:33:42
【问题描述】:

如何绕过标准类函数Protocol从客户端接收数据?例如,

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

即不使用“dataReceived”函数,也不冻结所有其他服务器客户端?

【问题讨论】:

  • 你必须在twisted中编写异步/非阻塞代码。显示函数中的内容,以便我们可以使其异步。
  • @ESYSCODER,所以,我明白了。谢谢

标签: python server twisted twisted.internet


【解决方案1】:

你不能绕过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

【讨论】:

    猜你喜欢
    • 2021-09-30
    • 2021-05-05
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多