gpt4 book ai didi

python - 如何使用 Python websockets 库在 "pong"调用上获取 "ping"响应?

转载 作者:行者123 更新时间:2023-12-02 00:47:34 25 4
gpt4 key购买 nike

我有一个订阅网络套接字的应用程序,并且不时从中接收一些信息。在某些情况下,我的应用程序可能会在相对较长的时间内没有收到任何内容。在那种情况下,我可能会怀疑 web-socket 已经“死了”。但是,也可能是 web-socket 没有任何东西要发送,我只需要等待更长时间。

所以,在这种情况下,我不想猜测延迟的原因是什么。我只想“主动”询问网络套接字是否还活着。我了解到可以用“ping”来做到这一点,但我不确定它究竟是如何工作的。

例如,我可以执行以下操作:

pong_waiter = await ws.ping()

但是我应该用这个对象做什么?我想我需要在网络套接字处于事件状态时看到一个“pong”字符串,但是我在哪里可以看到它?返回这个字符串是什么?

已添加

如果我执行:
pong_waiter = await ws.ping()
await pong_waiter

我什么也没得到。之后我也执行:
pong_waiter.result()

它也不返回任何内容。但我知道什么是网络套接字(我仍在从中获取信息)。

添加 2

如果我执行:
pong_waiter

我得到:
<Future finished result=None>

那么,“乒乓”在哪里?

最佳答案

您应该await如果你想等待 pong :

pong_waiter = await ws.ping()
await pong_waiter

如果您期望 pong要包含自定义有效负载,您很可能可以从 pong_waiter 获取它。 Future调用 result()完成后。

关于python - 如何使用 Python websockets 库在 "pong"调用上获取 "ping"响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60540890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com