Получите сообщение от клиента js к python, используя websockets - PullRequest
0 голосов
/ 21 июня 2019

я использую это:

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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...