import asyncio
import websockets
import msgpack
import threading
import time



async def handle_client(websocket, path):
    print("Client connected")
    try:
        while True:
            message = await websocket.recv()
            data = msgpack.unpackb(message, raw=False)
            print(data)

            if data["messageType"] == "PingMsg":
                await websocket.send(msgpack.packb({"data": data, "code": 0}, use_bin_type=True))
            elif data["messageType"] == "SignalMsg":
                print(data["signalName"])
                if data["signalName"] == "login":
                    data["content"] = "base64"
                    await websocket.send(msgpack.packb({"data": data, "code": 0}, use_bin_type=True))

                    # 开启定时器发送base64
                if data["signalName"] == "disconnect":
                        



    except websockets.exceptions.ConnectionClosed:
        print("Client disconnected")



if __name__ == "__main__":
    start_server = websockets.serve(handle_client, "localhost", 8090)

    asyncio.get_event_loop().run_until_complete(start_server)
    asyncio.get_event_loop().run_forever()