[英]How to get the "pong" response on "ping" call using Python websockets library?
我有一個訂閱網絡套接字的應用程序,並且不時從中接收一些信息。 在某些情況下,我的應用程序可能會在相對較長的時間內沒有收到任何內容。 在那種情況下,我可能會懷疑 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>
那么,“乒乓”在哪里?
如果你想等待pong
你應該await
它:
pong_waiter = await ws.ping()
await pong_waiter
如果您希望pong
包含自定義負載,您很可能可以通過在pong_waiter
Future
完成后調用result()
它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.