我正在使用此:
https://websockets.readthedocs.io/en/stable/intro.html
要创建一个将json发送到我的javascript的python服务器,它可以很好地工作。
现在,我想通过(例如)js中的按钮将字符串发送到python服务器。
我给你看一个例子: Python:
async def wsjson(websocket, path):
note = await websocket.recv() //doesn't work
print(note)
sensors_data = []
try:
while Run:
note = await websocket.recv()
print(note)
randomNumber = random.randint(1, 101)
sensors_data.append({
'example': {
'property': {
'randomNumb': randomNumber
}
}
}
create_json = json.dumps(sensors_data)
await websocket.send(create_json)
await asyncio.sleep(4)
except websockets.ConnectionClosed:
print("closed conn")
Run = False
start_server = websockets.serve(wsjson, '127.0.0.1', 5678)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
我尝试使用js接收消息,并且它可以工作,但是此服务器仅在从客户端接收消息时才运行。
我认为问题是因为我正在使用await websocket.recv()
。
我如何创建仅在真正接收到来自客户端的消息时才打印此注释的服务器,如果他没有收到该消息,他将继续发送json?