public function login() { $login_message = new Login(); $login_message->setLogin($this->config->getUsername())->setPassword($this->config->getPassword()); $this->socket->send($this->cipher->setMessage($login_message)->encrypt()); $this->login = $this->receive(); if (!$this->isLogged()) { throw new LoginException('Login failed!', 1); } $this->setSessionKey($login_message); return $this; }