Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用pythonwebsockets使我的心跳接收器保持活动状态_Python_Websocket_Client_Heartbeat - Fatal编程技术网

如何使用pythonwebsockets使我的心跳接收器保持活动状态

如何使用pythonwebsockets使我的心跳接收器保持活动状态,python,websocket,client,heartbeat,Python,Websocket,Client,Heartbeat,虽然我可以从服务器接收心跳信号,但我的代码在运行30秒后无法继续接收信息 我已经搜索了websockets常见问题,一些乒乓球通讯,但我仍然不知道为什么会出现这个错误 async with websockets.client.connect(uri,close_timeout = None) as ws: await ws.send(data) print(data) result = await ws.recv() #print(result) resu

虽然我可以从服务器接收心跳信号,但我的代码在运行30秒后无法继续接收信息

我已经搜索了websockets常见问题,一些乒乓球通讯,但我仍然不知道为什么会出现这个错误

async with websockets.client.connect(uri,close_timeout = None) as ws:
    await ws.send(data)
    print(data)
    result = await ws.recv()
    #print(result)
    resultdict = json.loads(result)
    keydict = resultdict["Key"]
    mainkey = json.dumps(keydict)
    #mainkey = mainkey.replace('-','')
    mainkey = mainkey.replace('"','')
    print('原始Key = ',mainkey)
    while True:
       hb = await ws.recv()
       print(hb)
我得到了这个输出

{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:12.64', 'AreaList': None}
{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:17.65', 'AreaList': None}
{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:22.67', 'AreaList': None}
{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:27.67', 'AreaList': None}
{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:32.69', 'AreaList': None}
{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:37.70', 'AreaList': None}
{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:42.72', 'AreaList': None}
{'CMD': 'HeartBeat', 'TYPE': None, 'SendTime': '2019-09-10T03:39:47.73', 'AreaList': None}

仅收到7条消息,我的代码仍在运行,但消息未被打印,最终崩溃。

您可能应该使用以下内容:

ws=websocket.WebSocketApp(uri,on_message=on_message,on_error=on_error,on_close=on_close)
ws.on_open=self.on_open
ws.run_forever()
def on_消息(消息):
打印(信息)
def on_错误(错误):
打印(错误)
def on_close():
打印(“已关闭”)
def on_open(自动)打开:
ws=self.ws
p='您需要的任何类型的开口'
p_load=json.load(p)
p_json=json.dumps(p_加载)

ws.send(p_json)
您可能应该使用如下内容:

ws=websocket.WebSocketApp(uri,on_message=on_message,on_error=on_error,on_close=on_close)
ws.on_open=self.on_open
ws.run_forever()
def on_消息(消息):
打印(信息)
def on_错误(错误):
打印(错误)
def on_close():
打印(“已关闭”)
def on_open(自动)打开:
ws=self.ws
p='您需要的任何类型的开口'
p_load=json.load(p)
p_json=json.dumps(p_加载)
ws.send(p_json)