Ir para conteúdo

Recommended Posts

Olá pessoal. Este é meu primeiro post/dúvida aqui.

 

Veja se alguém poderia me dar uma ajuda.

 

Aqui onde trabalho houve uma queda de energia onde ficamos sem luz por cerca de 1h e pouca. O no-break aguentou até próximo disto mas acabou desligando os servidores. Alguns switches estão conectados a este no-break também.

 

Com isto os switches que estavam neste no-break desligaram. Após o reestabelecimento da energia, todos os equipamentos iniciaram normalmente.

 

Foi aí que meus problemas começaram. Não sei por qual motivo, algumas impressoras começaram a perder pacote. Fazendo um ping para as impressoras, recebo muito erro de pacote e perda de conexão. Com isto ninguém consegue imprimir.

 

Meus switches estão ligados via fibra (estão em locais afastados) e alguns configurados com DHCP mas com reserva no servidor de DHCP.

 

Já tentei reconfigurar as portas onde estão as impressoras e nada. Coloquei em auto a velocidade e o duplex e nada. Coloquei as configurações na mão (não auto) e nada. Se eu coloco um notebook no mesmo switch onde está a impressora e faço o ping, acontece o mesmo problema. Porém se desconecto a fibra do switch, a impressora responde ao ping sem perda de pacote, apesar do TTL oscilar bastante de alto para <1 ms.

 

Já não sei mais onde poderia olhar. Creio que seja algo com os switches que recebem todas as fibras dos demais switches. A empresa quie cuidava dos esquipamentos não trabalha mais aqui e possivelmente não salvou as configurações dos switches. Quando estes reiniciaram, voltaram com as configurações default. Não sei se poderia ser isto.

 

Os meus switches são 3COM (HP) alguns modelo v1910 e outros modelo 2952-sfp plus.

 

Agradeço imensamente se alguém me der um caminho onde poderia investigar o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

O maior problema dos admins são em confiar em no breaks. Antes desligar todo o equipamento antecipadamente.

 

Minha dica é, apague todos os caches de navegação e arquivos dos servers e hosts, baixe a rede, desligue todos os equipamentos, inclusive modens/routers/Switch por 3 minutos e ligue modens/routers/Switch, espere as conexões e devidos tabelamentos e ligues os equipamento na ordem que devam ser ligados.

 

[ ]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lord Enigm@, obrigado pela resposta. Irei tentar desta forma. Eu até confio em no-break, desde que você esteja no local quando a energia cai. No meu caso isto ocorreu às 03 da matina e como ninguém trabalha neste horário, só fomos ver no dia seguinte.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

você possui algum conversor avulso? tente ligar a fibra em um conversor avulso e ligar o conversor no swith, pelo que você falou pode ser o conversor de fibra do switch que esta com problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

...Open Source Matters... irei testar isto o que você falou. Mas acho que os conversores que instalaram aqui são aqueles onde a fibra entra na caixa e não é conectada fora, como os mais comuns.

 

Obrigado pela dica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por dayenne
      Estou com um problema pra resolver e nao consigo pensar numa solução, imagino que seja algo bobo, mas não consigo resolver.
      Então, gostaria de saber como faço para marcar um checked em diferentes lugares do meu radio buttom dependendo de onde o usuario clicar
       
      por exemplo:
      estou em uma pagina e seleciono o plano MOTO 
       
      como ir para outra pagina com a opção MOTO ja selecionada no radio buttom.
       
      da mesma maneira se eu selecionar CARRO
      como ir para outra pagina com a opcao CARRO ja selecionada no radio buttom.
       
      apenas consegui passar os dados de uma pagina para outra, mas nao consigo alterar o checked do radio buttom.
      $mensagem = ""; switch (@$_GET['Opcao']){ case 1: $mensagem .= ' voce escolheu moto '; break; case 2: $mensagem .= ' voce escolheu carro '; break; case 3: $mensagem .= ' voce escolheu caminhao '; break; } echo $mensagem ?> dei um echo apenas para ver que realmente ta passando de uma pagina pra outra.
      me ajudem ai :)
    • Por son goku
      Boa tarde pessoal.
      Estou com o seguinte problema:
      ao clicar no numero da paginação,ela não exibe os dados,vou postar o código abaixo para voçês,verem.
      Quem poder me ajudar:
      <?php session_start(); if (!isset($_SESSION["id"]) || !isset($_SESSION["nome"])){     echo "Você não fez o login no sistema."; } ?> <html> <head> <title>Tipo de consulta</title> </head> <body> <table border="1"> <tr> <td>Descrição:</td>  <td>Forma de pagamento:</td> <td>Valor da parcela: </td> <td>Quantidade de parcelas:</td> <td>Numero da parcela:</td> <td>Pago:</td> <td>Cartão:</td> <td>Numero do cart&atildeo:</td> <td>Data de vencimento:</td> </tr> <?php include "conecta_banco.php"; $idusu = $_SESSION["id"]; $consulta =  isset( $_POST["tipo_consulta"] ) ? $_POST["tipo_consulta"] : null; switch ($consulta){          case "exibe_tudo":               $pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;                  //seleciona todos os itens da tabela         $sent_sql = "SELECT * FROM gastos";         $result = mysql_query($sent_sql);                  //conta o total de itens         $total = mysql_num_rows($result);                  //seta a quantidade de itens por página, neste caso, 2 itens         $registros = 20;                  //calcula o número de páginas arredondando o resultado para cima         $numPaginas = ceil($total/$registros);                  //variavel para calcular o início da visualização com base na página atual         $inicio = ($registros*$pagina)-$registros;                  //seleciona os itens por página         $sent_sql = "SELECT * FROM gastos LIMIT $inicio,$registros";         $result = mysql_query($sent_sql);         $total = mysql_num_rows($result);                                     while($tbl = mysql_fetch_array($result))         {                         $descricao = $tbl["descricao_gasto"];             $formapagamento = $tbl["moeda"];             $valor = $tbl["valor_gasto"];             $quantidade = $tbl["quant_parcela"];             $numerodaparcela = $tbl["num_parcela"];             $tapago = $tbl["pago"];             $cartao = $tbl["cartao"];             $numcartao= $tbl["num_cartao"];             $datavencimento = $tbl["data_venc"];                                                                                                /* Aqui converto a data que vem do mysql no formato y/m/d              * para d/m/y */                          $datavencimentoconv = date("d/m/Y",strtotime($datavencimento));                                         echo "<tr>";             echo "<td>$descricao </td>";             echo "<td>$formapagamento </td>";             echo "<td>R$ $valor </td>";             echo "<td>$quantidade </td>";             echo "<td>$numerodaparcela</td>";             echo "<td>$tapago</td>";             echo "<td>$cartao </td>";             echo "<td>$numcartao </td>";             echo "<td>$datavencimentoconv </td>";             echo "</tr>";                      }                                    $sent_sql2 = "SELECT sum(valor_gasto) FROM gastos WHERE usu_id='$idusu'";         $result2 = mysql_query($sent_sql2);                  while($sum = mysql_fetch_array($result2)){             $soma = $sum['sum(valor_gasto)'];                          echo "<tr>";             echo "<td>Total: </td>";             echo "<td>R$ $soma</td>";             echo "</tr>";                        }                  //exibe a paginação         for($i = 1; $i < $numPaginas + 1; $i++) {             echo "<a href='tipoconsulta.php?pagina=$i'>".$i."</a> ";         }                 break; }   ?> </table> </body> </html> Acredito que seja algo,simpless porém já estou a um bom tempo quebrando a cabeça com isso.
    • Por alecram28
      Bom dia.
      Tenho o seguinte exercicio para fazer, comecei a fazer mas nao consigo terminar e nao sei se é bem isso. 
      Se alguem puder me ajudar, sou iniciante. Obrigado!
       
      Questao: Usando HTML, CSS e JS, escreva um algoritmo que leia o código de uma operação a partir o teclado e que realize a operação associada a esse código. O código é um valor inteiro. Os códigos
      e operações são listados abaixo:
      1 Área de um retângulo. Os valores da base e da altura do retângulo devem ser informados pelo usuário. OBS: aretângulo = base * altura.
      2 Área de um triângulo. Os valores da base e da altura do triângulo devem ser informados pelo usuário. OBS: atriângulo = (base * altura) / 2.
      3 Área de um círculo. O valor do raio do círculo deve ser informado pelo usuário. OBS: acírculo = 3,14 * (raio)2
      4 Área de um trapézio. Os valores da base maior, da base menor e da altura do trapézio devem ser informados pelo usuário. OBS: atrapézio = [(base maior + base menor) * altura] / 2.
       
       
       
      Meu código:
      html:
       
      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Área figuras</title>
      <link rel="stylesheet" href="pratica06exercicio04.css">
      <script src="pratica06exercicio04.js" type="text/javascript"></script>
      </head>
      <body>
      <main>
      <h1>Área de Figuras Geométricas</h1>
      <h3>Informe o número da operação desejada:</h3>
      <h4>1- Área Retângulo<br>2-Área Triângulo<br>3-Área Círculo<br>4-Área Trapézio</h4>
      <div class="numero">Código <input type="number"id="cod"></div>
      <button onclick="codigo()">OK</button>
      <div id="operandos"></div>
      <div id="resultado"></div>
      </main>
      </body>
      </html>
       
       
       
       
      js:
       
      function codigo() {
      var c = document.getElementById("cod");
      switch (c) {
      case '1':
      operandosRetangulo()
      break;
      case '2':
      operandosTriangulo()
      break;
      case '3':
      operandosCirculo()
      break;
      case '4':
      operandosTrapezio()
      break;
       
      }
      }
       
      function limparTela() {
      var operandos = document.getElementById("operandos");
      var resultado = document.getElementById("resultado");
      operandos.style.display = "none";
      resultado.style.display = "none";
      }
       
      function operandosCirculo() {
      limparTela();
      var operandos = document.getElementById("operandos");
      operandos.innerHTML = "Informe o raio: <input type='number' id='raio'>" +
      "<br/>" + "<button onclick='areaCirculo ()'>OK</button>";
      operandos.style.display = "block";
      }

       
      function operandosRetangulo() {
      limparTela();
      var operandos = document.getElementById("operandos");
      operandos.innerHTML = "Informe a base: <input type='number' id='base'>" +
      "<br/>" +
       
      "Informe a altura: <input type='number'id='altura'>" +
      "<br/>" +
      "<button onclick='areaRetangulo ()'>OK</button>";
      operandos.style.display = "block";
      }
       
      function operandosTriangulo() {
      limparTela();
      var operandos = document.getElementById("operandos");
      operandos.innerHTML = "Informe a base: <input type='number' id='baset'>" +
      "<br/>" +
       
      "Informe a altura: <input type='number'id='alturat'>" +
      "<br/>" +
      "<button onclick='areaTriangulo ()'>OK</button>";
      operandos.style.display = "block";
      }
       
      function operandosTrapezio() {
      limparTela();
      var operandos = document.getElementById("operandos");
      operandos.innerHTML = "Informe a base maior: <input type='number' id='basema'>" +
      "<br/>" +
      "Informe a base menor: <input type='number' id='baseme'>" +
      "<br/>" +
       
      "Informe a altura: <input type='number'id='alturaz'>" +
      "<br/>" +
      "<button onclick='areaTrapezio ()'>OK</button>";
      operandos.style.display = "block";
      }

       
      function areaCirculo() {
      var raioSTR = document.getElementById("raio").value;
      var raio = parseFloat(raioSTR);
      var area = 3.14 * Math.pow(raio, 2);
      var resultado = document.getElementById("resultado");
      resultado.innerHTML = area;
      resultado.style.display = "block";
      }

       
      function areaRetangulo() {
      var baseSTR = document.getElementById("base").value;
      var alturaSTR = document.getElementById("altura").value;
      var base = parseFloat(baseSTR);
      var altura = parseFloat(alturaSTR);
      var area = base * altura;
      var resultado = document.getElementById("resultado");
      resultado.innerHTML = area;
      resultado.style.display = "block";
      }
       
      function areaTriangulo() {
      var bt = document.getElementById("baset").value;
      var at = document.getElementById("alturat").value;
      var baset = parseFloat(bt);
      var alturat = parseFloat(at);
      var areat = (bt * at) / 2;
      resultado.innerHTML = areat;
      resultado.style.display = "block";
      }
       
      function areaTrapezio() {
      var bma = document.getElementById("basema").value;
      var bme = document.getElementById("baseme").value;
      var az = document.getElementById("alturaz").value;
      var areatra = ((bma + bme) * az) / 2;
      resultado.innerHTML = areatra;
      resultado.style.display = "block";
       
      }

       
       
       
       
       
    • Por J.Pedro_OR
      Eu preciso fazer o sistema de uma urna eletrônica para um trabalho, e eu utilizei a estrutura de switch para fazer o menu de candidatos, e quero que o eleitor tenha a oportunidade de confirmar ou corrigir depois de escolher seu candidato. O problema é que eu não sei como fazer o switch reiniciar para que o eleitor possa escolher outro case, sendo que ele já havia selecionado um. Que é o que o botão "corrigir" faz. Segue o código produzido até agora:

      #include <stdio.h>
      #include <stdlib.h>
      int main(void) {
        int confirmar, corrigir, candidato, titulo;
        int maeli, antonio, lissandro, branco, nulo;
        int condicaoverdade=1;
        printf("Digite seu núemro de eleitor:");
        scanf("%d", &titulo);
        printf("Candidatos para Presidente: \n");
        
        printf("Sra. Maeli Gente Boa nº17 \n");
        printf("Sr. Antônio do Brasil nº22 \n");
        printf("Dr. Lissandro Progresso nº31 \n");
        printf("Digite 1 para branco \n");
        printf("Digite o número de um candidato não existente para votar nulo \n");
        scanf("%i",&candidato);
        while(condicaoverdade){
          switch(candidato){
          case 17:
            printf("Sra. Maeli Gente Boa nº17 \n");
            printf("aperte \"c\" para confirmar \n");
            printf("aperte \"r\" para corrigir \n");
            scanf("%i",&confirmar);
            if (confirmar == 'c' ){
              condicaoverdade = 0;
              maeli++;
              break;
            }
            else if (confirmar == 'r'){
              condicaoverdade = 1;
            }
            break;
          case 22:
            printf("Sr. Antônio do Brasil nº22 \n");
            printf("aperte \"c\" para confirmar \n");
            printf("aperte \"r\" para corrigir \n");
            scanf("%i",&confirmar);
            if (confirmar == 'c'){
              condicaoverdade = 0;
              antonio++;
            }  
            else if (confirmar == 'r'){
              condicaoverdade = 1;
            }
            break;
          case 31:
            printf("Dr. Lissandro Progresso nº31 \n");
            printf("aperte \"c\" para confirmar \n");
            printf("aperte \"r\" para corrigir \n");
            scanf("%i",&confirmar);
            if (confirmar == 'c' ){
              condicaoverdade = 0;
              lissandro++;
            }  
            else if (confirmar == 'r'){
            condicaoverdade = 1;
            }
            break;
          case 1:
            printf("branco \n");
            printf("aperte \"c\" para confirmar \n");
            printf("aperte \"r\" para corrigir \n");
            scanf("%i",&confirmar);
            if (confirmar == 'c' ){
              condicaoverdade = 0;
              branco++;
            }  
            else if (confirmar == 'r'){
            condicaoverdade = 1;
            }
            break;
          default:
          printf("nulo \n");
          printf("aperte \"c\" para confirmar \n");
          printf("aperte \"r\" para corrigir \n");
          scanf("%i",&confirmar);
          if (confirmar == 'c' ){
            condicaoverdade = 0;
            nulo++;
          }
          else if (confirmar == 'r'){
            condicaoverdade = 1;
          }
          break;
        
        }
        return 0;
      }
      }
    • Por welwvs
      Olá povoestou tendo um problema e não estou descobrindo oque eu estou fazendo  de errado.
       
      Eu criei um var = currentUser;
       
      Em seguida no switch, dentro de um case: "LOGAR" eu queria chamar a currentUser para receber uns valores
       
      E depois em outro case: "PING2" eu queria trabalhar com os dados que salvei na currentUser.
       
      Eu percebi alguns problemas que no case: "PING2" A currentUser estava vazia, mais no case "LOGAR" ela realmente recebeu os valores usei um console.log para ter certeza que foram salvas.
       
      eu estou com duvidas se no case: "LOGAR" eu chamei o var currentUser de forma correta, porque ele só tem valores dentro dele apenas no case: "LOGAR" nos outros case ele fica vazio
       
      var shortId = require('shortid');//import shortid lib var dgram = require('dgram');// importa a biblioteca do node para sockets UDP var socket = dgram.createSocket('udp4'); var clients = [];//storage clients var clientLookup = {};// cliends search engine var sockets = {};//storage sockets var database_model = require('./Models/database_model'); database_model.connect(function (err_connect) { }); socket.on('message', function(message,datagram_info) {//"message" armazena o pacote JSON, "datagram_info" armazena o IP e a PORTA do cliente //que fez a abertura do socket (ex: 127.0.0.1 e 8080) console.log('O servidor recebeu uma messagem: '+message+' de '+datagram_info.address); var data = JSON.parse(message);//converte o conteudo do pacote JSON message var currentUser;// nao ta recebendo nada não sei porque. switch(data.id ) { //começa case "PING"://se estivessemos utlizando TCP seria socket.on('PING',function(){ //processamento do socket}); como eu faco em console.log(currentUser); console.log('[INFO] teste ping foi recebido !!! '); var response = "PONG"+','+"pong!!!"+','+"test";//formata os dados com o separador virgula para serem enviados de volta ao Sender var msg = new Buffer(response);//bufering console.log('send response to client'); //enviando para o cliente, Sending Messages Back to Sender "Socket.Emit" socket.send(msg, 0, msg.length, datagram_info.port,//port of Sender datagram_info.address//IP of Sender ); break; //termina case "LOGAR": console.log('[INFO] Player: ' + data.nome + ', ' + data.senha + ' connected!'); database_model.verify_fk1(data.nome, data.senha, function ( result) { if (result == true) { console.log("Os Dados do usuario estão corretos"); console.log('[INFO] O usuario ' + data.nome + ' conectou. Carregando informações ... !'); var response = "RespostaLOGAR"+','+"TODOS OS DADOS FORAM CARREGADOS COM SUSSESSO, você ESTA LIBERADO PARA SELEÇÃO DE PERSONAGEM"; var msg = new Buffer(response); console.log('O pacote de reposta do login com sussesso foi enviada'); socket.send(msg, 0, msg.length, datagram_info.port,//port of Sender datagram_info.address//IP of Sender ); database_model.carregardados(data.nome, function (err, rows){ if (err) { console.error(err); } console.log('[INFO] cheguei com os dados: **************'); console.log('Cli_id: '+rows[0].cli_id); console.log('cli_personagem1: '+ rows[0].cli_personagem1); console.log('cli_personagem2: '+ rows[0].cli_personagem2); console.log('cli_personagem3: '+ rows[0].cli_personagem3); console.log('cli_personagem4: '+ rows[0].cli_personagem4); console.log('[INFO] fim **************'); currentUser = { name:data.nome, id:shortId.generate(), socketID:socket.id, pass:data.senha, port:datagram_info.port, address:datagram_info.address, cliID:rows[0].cli_id, cliPERID1:rows[0].cli_personagem1, cliPERID2:rows[0].cli_personagem2, cliPERID3:rows[0].cli_personagem3, cliPERID4:rows[0].cli_personagem4 } clients.push(currentUser);//add currentUser in clients list clientLookup[currentUser.id] = currentUser;//add client in search engine sockets[currentUser.socketID] = socket;//add currentUser socket console.log('Dados armazenados no currentUser: '+currentUser.id+',' +currentUser.name+',' +currentUser.pass+',' +currentUser.cliID+',' +currentUser.cliPERID1+',' +currentUser.cliPERID2+',' +currentUser.cliPERID3+',' +currentUser.cliPERID4+','); console.log('Total players: ' + clients.length); var response = "RespostaLOGAR2"+','+currentUser.id; var msg = new Buffer(response); console.log('O pacote de reposta do login com sussesso foi enviada'); socket.send(msg, 0, msg.length, datagram_info.port,//port of Sender datagram_info.address//IP of Sender ); }); } else { console.log("Loguin ou senha incorretos"); var response = "INCORRECT_PASS"+','+"Usuario ou senha estão incorretos"; var msg = new Buffer(response); console.log('pacote de erro no loguin enviado'); socket.send(msg, 0, msg.length, datagram_info.port,//port of Sender datagram_info.address//IP of Sender ); } }); break; case "PING2": console.log(currentUser);; console.log('[INFO] nome do per foi pedido'); var response = "PONG2"+','+"casa";//aqui var msg = new Buffer(response);//bufering console.log('send response to client'); //enviando para o cliente, Sending Messages Back to Sender "Socket.Emit" socket.send(msg, 0, msg.length, datagram_info.port,//port of Sender datagram_info.address//IP of Sender ); break; }//END-SWITCH });  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.