首页 > 解决方案 > 为什么 websocket 会停止?

问题描述

import json
import amino
from websocket import create_connection
from time import time as timestamp

client = amino.Client()
client.login(email=<email>, password=<password>)
subclient = amino.SubClient(comId=<comid>, profile=client.profile)

def listen():
    ws = create_connection(
            f"wss://ws1.narvii.com?signbody={client.device_id}%7C{timestamp() * 1000}&sid={client.sid}")
        while True:
            data = json.loads(ws.recv())
            if data["t"] == 1000 and data["o"]["chatMessage"]["type"] == 0:
                try:
                    if data["o"]["chatMessage"]["content"] == "!ping":
                        subclient.send_message(chatId=data["o"]["chatMessage"]["threadId"], message="Pong!")
                    print(data["o"]["chatMessage"]["content"])
                except:
                    print("ERROR")
listen()

问题是,在成功工作 5 分钟后,由于某种原因,他停止接收来自聊天的消息,而程序并没有崩溃。可能是什么问题以及如何解决?

标签: pythonwebsocket

解决方案


推荐阅读