
- Log in is ok with token - Making people appear in chat but only works when you press private a second time
68 lines
2.1 KiB
Plaintext
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() |