1lab/server.py
2024-04-25 04:24:38 +03:00

28 lines
918 B
Python

import asyncio
import websockets
counter = 0
connected_clients = set()
async def counter_server(websocket, path):
global counter
connected_clients.add(websocket)
try:
await websocket.send(str(counter))
async for message in websocket:
if message == 'increment':
counter += 1
# Отправляем обновление счетчика всем клиентам
await asyncio.gather(*[client.send(str(counter)) for client in connected_clients])
finally:
connected_clients.remove(websocket)
def run_server():
PORT = 8765
start_server = websockets.serve(counter_server, "178.44.100.206", PORT)
asyncio.get_event_loop().run_until_complete(start_server)
print(f'Server started on ws://http://178.44.100.206/:{PORT}')
asyncio.get_event_loop().run_forever()
if __name__ == '__main__':
run_server()