使用websockets将消息从js客户端接收到python

时间:2019-06-21 20:59:40

标签: python websocket

我正在使用此:

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?

0 个答案:

没有答案