mirror of
https://github.com/kuitoi/kuitoi-Server.git
synced 2025-08-17 16:25:36 +00:00
Refactoring
This commit is contained in:
parent
482615af22
commit
6242ff4129
@ -84,11 +84,14 @@ class Core:
|
||||
if sock:
|
||||
return self.clients.get(sock.getsockname())
|
||||
|
||||
def insert_client(self, client):
|
||||
self.clients.update({client.cid: client, client.nick: client})
|
||||
|
||||
def create_client(self, *args, **kwargs):
|
||||
cl = Client(*args, **kwargs)
|
||||
self.clients_counter += 1
|
||||
cl.id = self.clients_counter
|
||||
self.clients.update({cl.id: cl})
|
||||
cl._update_logger()
|
||||
return cl
|
||||
|
||||
async def check_alive(self):
|
||||
@ -100,19 +103,24 @@ class Core:
|
||||
self.log.debug(f"Client ID: {cl.id} died...")
|
||||
|
||||
async def main(self):
|
||||
self.tcp = self.tcp(self, self.server_ip, self.server_port)
|
||||
self.udp = self.udp(self, self.server_ip, self.server_port)
|
||||
self.log.info(i18n.ready)
|
||||
self.tcp = self.tcp(self, self.server_ip, self.server_port)
|
||||
self.udp = self.udp(self, self.server_ip, self.server_port)
|
||||
tasks = [self.tcp.start(), self.udp.start(), console.start()] # self.check_alive()
|
||||
t = asyncio.wait(tasks, return_when=asyncio.FIRST_EXCEPTION)
|
||||
self.log.info(i18n.ready)
|
||||
ev.call_event("on_started")
|
||||
await t
|
||||
# while True:
|
||||
try:
|
||||
tasks = [console.start(), self.tcp.start(), self.udp.start()] # self.check_alive()
|
||||
await asyncio.wait(tasks, return_when=asyncio.FIRST_EXCEPTION)
|
||||
except Exception as e:
|
||||
await asyncio.sleep(1)
|
||||
print("Error: " + str(e))
|
||||
traceback.print_exc()
|
||||
except KeyboardInterrupt:
|
||||
raise KeyboardInterrupt
|
||||
# try:
|
||||
# tasks = [console.start(), self.tcp.start(), self.udp.start()] # self.check_alive()
|
||||
# await asyncio.wait(tasks, return_when=asyncio.FIRST_EXCEPTION)
|
||||
# except Exception as e:
|
||||
# await asyncio.sleep(1)
|
||||
# print("Error: " + str(e))
|
||||
# traceback.print_exc()
|
||||
# break
|
||||
# except KeyboardInterrupt:
|
||||
# raise KeyboardInterrupt
|
||||
|
||||
def start(self):
|
||||
asyncio.run(self.main())
|
||||
|
@ -14,17 +14,21 @@ from .tcp_server import TCPServer
|
||||
from .udp_server import UDPServer
|
||||
class Client:
|
||||
|
||||
def __init__(self, sock: socket.socket):
|
||||
self.cid = 0
|
||||
self.nick = None
|
||||
self.log = utils.get_logger("client")
|
||||
self.addr = sock.getsockname()
|
||||
self.socket = sock
|
||||
def __init__(self, reader: StreamReader, writer: StreamWriter):
|
||||
self.reader = reader
|
||||
self.writer = writer
|
||||
self.log = utils.get_logger("client(id: )")
|
||||
self.addr = writer.get_extra_info("sockname")
|
||||
self.loop = asyncio.get_event_loop()
|
||||
self.cid = 0
|
||||
self.key: str = None
|
||||
self.nick: str = None
|
||||
self.roles: str = None
|
||||
self.guest = True
|
||||
self.alive = True
|
||||
def is_disconnected(self) -> bool: ...
|
||||
def kick(self, reason: str) -> None: ...
|
||||
def tcp_send(self, data: bytes) -> None: ...
|
||||
async def kick(self, reason: str) -> None: ...
|
||||
async def tcp_send(self, data: bytes) -> None: ...
|
||||
|
||||
|
||||
class Core:
|
||||
@ -37,6 +41,7 @@ class Core:
|
||||
self.loop = asyncio.get_event_loop()
|
||||
self.tcp = TCPServer
|
||||
self.udp = UDPServer
|
||||
def insert_client(self, client: Client) -> None: ...
|
||||
def create_client(self, *args, **kwargs) -> Client: ...
|
||||
async def check_alive(self) -> None: ...
|
||||
async def main(self) -> None: ...
|
||||
|
Loading…
x
Reference in New Issue
Block a user