connections: Dict[User, List[socket]]
def guess_users(data) -> List[User]:
...
def main():
# здесь как-то получаются соединения с юзерами и соединение с входящими данными
incoming = ...
for user in users:
connections[user] = create_connection(user)
while True:
data = incoming.read()
sending_list = guess_users(data)
for users in sending_list:
for connection in connections[user]:
connection.write(data)