При обращении к методу(send_data) сервера, ответственному за уведомление(о новом сообщении) и обновление клиента, вылазит ошибка. AttributeError: ‘Server’ object has no attribute ‘Client_socket’.
Сервер
class Server(Subject): def __init__(self): self._state = None self._observers = [] self.users_ip = [] self.users_port = [] self.Users = UserDB() self.attach(CLient_socket) self.start_server() def attach(self, observer): print("Subject: Attached an observer.") self._observers.append(observer) def detach(self, observer): self._observers.remove(observer) def send_data(self, data, connection): #обновление и уведомление клиента send_ip = (self.Users.get_ip_by_id(data['to'])) Json_str = json.dumps(data, ensure_ascii=False).encode("utf-8") i = self.users_ip.index(send_ip) connection.sendto(Json_str, (self.users_ip[i], self.users_port[i])) self._observers[i].get_data(self) #get_data - метод клиента здесь и возникает ошибка
Клиент
class CLient_socket(Observer, Subject): #одновременно издатель и наблюдатель def __init__(self): from main import Massenger self._observers = [] self.attach(Massenger) self.Client_socket = socket.socket() def get_data(self): data = self.Client_socket.recv(1024) if not data: return 0 else: self._observers[0].render_messages(self, data) def attach(self, observer): print("Subject: Attached an observer.") self._observers.append(observer) def detach(self, observer): self._observers.remove(observer)