Files
KianaBH3/game_server/net/gateway.py
2024-11-08 11:05:39 +08:00

26 lines
833 B
Python

from utils.logger import Info
from game_server.net.session import Session
import asyncio
class Gateway:
def __init__(self, server_ip, game_server_port) -> None:
self.server_ip = server_ip
self.game_server_port = game_server_port
self.loop = asyncio.new_event_loop()
asyncio.set_event_loop(self.loop)
try:
self.loop.run_until_complete(self.start_server())
finally:
self.loop.run_until_complete(self.loop.shutdown_asyncgens())
self.loop.close()
async def start_server(self):
session = Session()
server = await asyncio.start_server(
session.handle_connection, self.server_ip, self.game_server_port
)
Info("Gateway listening...")
async with server:
await server.serve_forever()