首页 > 解决方案 > 如何告诉 asyncio.Protocol 一些信息?

问题描述

在这里阅读了一篇文章后,我认为可以使用 lambda 函数向我的协议工厂发送参数,但由于某种原因,它不起作用(它无法识别任何连接)。由于 create_server 不接受参数,我怎么能告诉我的协议一些有用的信息?我为列表中的每个门使用循环开始了其中的一堆,但在那之后,我无法确定哪个协议是哪个。

有任何想法吗?

标签: python-3.xpython-asyncio

解决方案


好吧,我发现了问题。

而不是像示例中那样使用 lambda :

await asyncio.start_server(lambda r, w: handle_client(r, w, session),
                           '', 55555)

我应该像这样使用 lambda:

await asyncio.start_server(lambda: handle_client(r, w, session),
                           '', 55555)

我希望这对其他人有帮助。


推荐阅读