コード例 #1
0
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);
}
コード例 #2
0
 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);
         }
     }
 }