利用websocket 建立py服务端和js客户端

在py建立服务端向js端发送消息等待回应

import asyncio
import websockets


async def send_message(websocket):
    while True:
        await asyncio.sleep(2)
        print('发送...')
        await websocket.send('向客户端发送消息等待回应')
        encrypt_data = await websocket.recv()
        print('接收kg_mid...', encrypt_data)

async def main_process(websocket):
    await send_message(websocket)


loop=asyncio.get_event_loop()
loop.run_until_complete(websockets.serve(main_process, 'localhost', 10086))
loop.run_forever()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

js建立客户端,等待消息传递(想要什么值 就放在哪)

// 在网页js中,使用ws.send()发送数据,使用ws.onmessage()接收数据。
window.ws = new WebSocket("ws://localhost:10086"),
window.ws.onopen = function() {
//    当WebSocket创建成功时,触发onopen事件
    console.log('WebSocket 连接已打开');
    window.ws.send('连接建立') //将消息发送到服务端
},
//window.ws.readyState === WebSocket.OPEN &&  window.ws.send(d.getKgMid()),

window.ws.onmessage = function (sss) {
//  当客户端收到服务端发来的消息时,触发onmessage事件,参数sss.data包含server传递过来的数据
    console.log('WebSocket 客户端收到消息');
    window.ws.send('加密后的kg_mid')
    //debugger;
    //return window.ws.send(d.getKgMid());
},

window.ws.onclose = function() {
    // 当客户端收到服务端发送的关闭连接请求时,触发onclose事件
    console.log('WebSocket 连接已关闭。');
};

window.ws.onerror = function(error) {
    // 如果出现连接、处理、接收、发送数据失败的时候触发onerror事件
    console.error('WebSocket 出现错误:', error);
};
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.