я использую это:
https://websockets.readthedocs.io/en/stable/intro.html
для создания сервера Python, который отправляет JSON в мой JavaScript, это прекрасно работает.
Теперь я хотел бы, например, с помощью кнопки в 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?