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

利用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()

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);
};


posted @ 2024-06-27 15:20  AngDH  阅读(3)  评论(0编辑  收藏  举报