protected function tratarSolicitacaoDeConexao($cabecalho, $socket) { if ($cabecalho != null && $socket != null) { $this->printar("Handshake Recebido:\n{$cabecalho}", true, true); preg_match('/(?<=GET \\/)[^\\s]*/', $cabecalho, $aux); $parametros = split(';', $aux[0]); $tipoCliente = $parametros[0]; if ($this->validarTipoCliente($tipoCliente)) { $cadastro = null; switch ($tipoCliente) { case TipoCliente::USUARIO: $login = $parametros[1]; $senha = $parametros[2]; if ($login != '' && $senha != '') { $criteria = array(); $criteria[UsuarioCriteria::LOGIN_EQ] = $login; $criteria[UsuarioCriteria::SENHA_EQ] = $senha; $cadastro = ServiceLocator::getUsuarioService()->readByCriteria($criteria)[0]; } break; case TipoCliente::RASTREADOR: $serial = $parametros[1]; if ($serial != '') { $criteria = array(); $criteria[RastreadorCriteria::SERIAL_EQ] = $serial; $cadastro = ServiceLocator::getRastreadorService()->readByCriteria($criteria)[0]; } break; } if ($cadastro != null) { $clienteWS = $this->clienteWSController->buscarClientePorCadastro($cadastro); if ($clienteWS == null) { $this->executarHandshaking($cabecalho, $socket); $clienteWS = new ClienteWSRastreador(); $clienteWS->setTipoCliente($tipoCliente); $clienteWS->setId($cadastro->getId()); $clienteWS->setSocket($socket); $clienteWS->setCadastro($cadastro); $this->clienteWSController->adicionarCliente($clienteWS); $this->printar($clienteWS->getCadastro()->getNome() . " se conectou.\n", false, false); } else { $this->printar($clienteWS->getCadastro()->getNome() . " ja esta conectado.\n", false, false); } } else { $this->printar("Usuario/Rastreador nao existe na base de dados.\n", false, false); } } else { $this->printar("Tipo de cliente invalido.\n", false, false); } } }
function compararClienteWS() { $cliente = new ClienteWSRastreador(); $cliente->setId(10); $cliente->setTipoCliente(TipoCliente::USUARIO); $usu = new Usuario(); $usu->setId(2); $usu->setLogin("Creuza"); $usu->setNome("Creuza"); $usu->setSenha("123123"); $cliente->setCadastro($usu); $cliente2 = new ClienteWSRastreador(); $cliente2->setId(10); $cliente2->setTipoCliente(TipoCliente::USUARIO); $usu2 = new Usuario(); $usu2->setId(2); $usu2->setLogin("Creuza"); $usu2->setNome("Creuza"); $usu2->setSenha("123123"); $cliente2->setCadastro($usu2); var_dump($cliente->comparar($cliente2)); echo "<br><br>"; var_dump($cliente == $cliente2); }