Files
METH_Transcendence/site/module_livechat/note,txt
Kum1ta 1de491b958 Websocket :
- Log in is ok with token
    - Making people appear in chat but only works when you press private a second time
2024-08-02 03:10:12 +02:00

68 lines
2.1 KiB
Plaintext

# async def sendData(websocket):
# while True:
# try:
# await websocket.send(json.dumps({"message": "Hello client"}))
# except websockets.exceptions.ConnectionClosed as e:
# connected_clients.remove(websocket)
# print("Client disconnected with error :", e)
# break
# await asyncio.sleep(1)
# async def receiveData(websocket):
# try :
# async for message in websocket:
# print(f"Message reçu : {message}")
# except websockets.exceptions.ConnectionClosed as e:
# print("Client disconnected with error :", e)
# def verifyToken(websocket):
# try:
# token = websocket.request_headers["Sec-WebSocket-Protocol"]
# print(f"Token reçu : {token}")
# if token == validTokens:
# return True
# else:
# return False
# except KeyError as e:
# print(f"Error: {e}")
# return False
# async def handler(websocket, path):
# print("client connected")
# connected_clients.add(websocket)
# websocket.request_headers["Sec-WebSocket-Protocol"] = "123456"
# await websocket.send("Connection established")
# # try:
# # if path != "/":
# # print("client disconnected")
# # await websocket.send(json.dumps({"error": "Invalid path", "code": 9010}))
# # await websocket.close()
# # return
# # if verifyToken(websocket) == False:
# # print("client disconnected")
# # await websocket.send(json.dumps({"error": "Invalid token", "code": 9000}))
# # await websocket.close()
# # return
# # send_task = asyncio.create_task(sendData(websocket))
# # receive_task = asyncio.create_task(receiveData(websocket))
# # await asyncio.gather(receive_task, send_task)
# # # except websockets.exceptions.ConnectionClosed as e:
# # # print("Client disconnected with error :", e)
# # # connected_clients.remove(websocket)
# # # return
# # # finally:
# # # connected_clients.remove(websocket)
# # # websocket.close()
# try:
# start_server = websockets.serve(handler, "localhost", 8000, reuse_address=True)
# except OSError as e:
# print(f"Error: {e}")
# exit(1)
# asyncio.get_event_loop().run_until_complete(start_server)
# print("Server started")
# asyncio.get_event_loop().run_forever()