mirror of
https://github.com/MikuLeaks/KianaBH3.git
synced 2025-12-16 06:44:41 +01:00
Initial commit
This commit is contained in:
25
game_server/net/gateway.py
Normal file
25
game_server/net/gateway.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from game_server.config.log 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()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user