Ir ao conteúdo
  • Cadastre-se

arfneto

Membro Pleno
  • Posts

    6.207
  • Cadastrado em

  • Última visita

  1. @Rosa Muitas soluções grátis e mesmo pagas navegam em torno de um produto grátis chamado OpenVPN. Tem muitas maneiras grátis de usar, por exemplo usando um trem chamado CloudConexa que pode usar usado legalmente de graça para até 5 dispositivos. Uso sem problemas há uns 15 anos. Tem roteadores modernos que vem com algo assim embutido e é só preencher um formulário na configuração. E isso é Linux (que um dia era Unix) e então você pode baixar e instalar em qualque r máquina, real ou virtual, e usar. Hamachi, da LogMeIn é grátis para até 5 hosts e cria túneis criptografados. Bem simples. RouterOS, esse que roda nos Mikrotik, também é grátis e pode ser baixado para qualquer máquina. E Linux e Windows server tem previsão para criar túneis criptografados direto no boot, usando PPTP e outras coisas. OpenVPN e RouterOS são distribuições Linux afinal, ainda que especializadas. Se sua rede cair, ou o servidor parar, a VPN vai parar também. Ou de pouco vai servir já que não tem os servidores ou a VPN. Entre o grátis e o pago tem muitos tons. E no final tudo cai na administração da coisa. Tudo recai na experiência de quem administra, se é que tem alguém.
  2. Essa condição é, digamos, uma bobagem: if (x > 3) y = x * 1500; else y = x * 1000; Esse programa foi, segundo o autor (post #3), baseado em Provavelmente isso foi copiado desse post no Stack Overflow, de 2017. Só que lá o objetivo era listar os números até um limite Escreva o programa para calcular todos os números friends de 2 para N. Exemplo: Se a entrada for N = 1500 a saída deverá ser: (284, 220), (1210, 1184) Só que, sem entender a diferença entre os enunciados, o "cara" copiou até o 1500, a constante exemplo do programa original. Depois, vendo que a conta não batia alguém colocou uma "correção de curso" e usou `1000` para `x<3`. Veja na planilha: O problema é que para x = 2 o original daria `4500` e acabaria mostrando 3 números e não dois, já que 2620 < 4500 < 5020 Mas parou aí. Não houve preocupação em parar o programa em 9 números, ou mesmo em parar o programa um dia... Claro que a mesma preocupação não apareceu para testa os valores digitados e nem para decidir sobre o final do programa em 9 ou `N` pares de amigos. sobre essa nova versão @devair1010 Claro que temos progressos, tem até uma educada mensagem avisando o usuário do que ele deve digitar... Mas: deixou o tal `r` lá sem uso, apesar do compilador ter avisado criou um contador mas não apagou essa fórmula bobinha e simplesmente usou `cont` para... contar os números já listados, sem fazer o simples e parar o programa na hora certa não corrigiu os erros nos especificadores de `printf` para os valores que foram trocados de `int` para `size_t` não declarou `n` no próprio corpo do `for`, algo que foi corrigido em `C` ainda nos anos 80. Ou mesmo `divisor` entenda esse código: for (divisor = 2; divisor <= n / 2; divisor++) { if (n % divisor == 0) soma1 += divisor; //calcula a soma dos divisores } soma2 = 1; if (soma1 != n) for (divisor = 2; divisor <= soma1 / 2; divisor++) { if (soma1 % divisor == 0) soma2 += divisor; //calcula a soma dos divisores } é claro que é o mesmo código nos dois for: dado um número retorna a soma de seus divisores. Evite a todo custo repetir código assim, logo na linha de baixo. Use funções, como eu mostrei. Isso se chama de princípio DRY na literatura: Don't Repeat Yourself. Do exemplo que eu escrevi: size_t is_friend(size_t val) { size_t soma = soma_div(val); if (soma <= val) return 0; if (soma_div(soma) == val) return soma; return 0; } É mais simples de entender, e continua tendo a função `soma()` para outros usos. E considera o par na primeira vez em que aparece, `[a,b]` quando `a<b` e já despreza o egocêntrico caso dos números que são amigos deles próprios, como `6` e `28`. Use a linha de comando. é muito chato rodar o programa e ficar esperando ele perguntar algo se já sabe o que ele vai perguntar. como eu já disse, `scanf()` retorna um `int`. Use. É mais esperto. Se o cara digitar `x` seu programa vai fazer o que? `scanf` é --- dá pra ver pelo nome --- um _scanner_ e é normal não ler nada. O esperado em `C` desde o `Unix` é receber os argumentos na linha de comando e ter um padrão para o caso de o usuário não digitar nada, ou chamar uma função mostrando como usar. `usage()` é o nome clássico dessa função desde os anos 70. Imagine se o compilador perguntasse a cada vez: Quantos programas deseja compilar? Forneça o nome dos programas, um por linha e tecle ENTER... Outro EXEMPLO Mudando um pouco do que escreveram, para ter algo mais configurável e correto: Usando isso, que é o mesmo código, não precisa repetir o loop, e fica muito mais legível a determinação de números amigos: inline size_t soma_div(const size_t val) { size_t soma = 1; for (size_t divisor = 2; divisor <= val / 2; divisor += 1) if (val % divisor == 0) soma += divisor; return soma; } size_t eh_amigo(size_t val) { size_t soma = soma_div(val); if (soma <= val) return 0; if (soma_div(soma) == val) return soma; return 0; } Claro que se salvasse os números que tem amigos poderia salvar a inútil computação dele na segunda vez... main() para o exemplo Na prática esse é o programa principal. Só isso: for (size_t par = 0, N = 2, outro = 0; par < n_pares;) { if ((outro = eh_amigo(N)) != 0) printf("%4llu: [%llu,%llu]\n", 1 + par, N, outro), ++par; ++N; // proximo candidato }; // for A saída desse exemplo Supondo o programa como amigos.exe... C:\Clube do Hardware>_ ./amigos Listando os primeiros 9 pares de numeros amigos 1: [220,284] 2: [1184,1210] 3: [2620,2924] 4: [5020,5564] 5: [6232,6368] 6: [10744,10856] 7: [12285,14595] 8: [17296,18416] 9: [63020,76084] Fim C:\Clube do Hardware>_ ./amigos 1 Listando os primeiros 1 pares de numeros amigos 1: [220,284] Fim C:\Clube do Hardware>_ ./amigos 3 Listando os primeiros 3 pares de numeros amigos 1: [220,284] 2: [1184,1210] 3: [2620,2924] Fim C:\Clube do Hardware>_ ./amigos 13 Listando os primeiros 13 pares de numeros amigos 1: [220,284] 2: [1184,1210] 3: [2620,2924] 4: [5020,5564] 5: [6232,6368] 6: [10744,10856] 7: [12285,14595] 8: [17296,18416] 9: [63020,76084] 10: [66928,66992] 11: [67095,71145] 12: [69615,87633] 13: [79750,88730] Fim Tendo um valor padrão --- e um limite interno --- e aceitando outros valores direto na linha de comando fica muito menos chato de usar. E pode usar em um script. Nunca escreva programas interativos. Só atrasa. E é chato. Programa completo #define LIMITE_PADRAO 9 #define MAX_PARES 80 #include <stdio.h> #include <stdlib.h> inline size_t soma_div(const size_t val); size_t eh_amigo(size_t val); int main(int argc, char **argv) { size_t n_pares = LIMITE_PADRAO; size_t temp = 0; if (argc > 1) { temp = atoi(argv[1]); if ((temp != 0) && (temp <= MAX_PARES)) n_pares = temp; } printf("\nListando os primeiros %llu pares de numeros " "amigos\n\n", n_pares); for (size_t par = 0, N = 2, outro = 0; par < n_pares;) { if ((outro = eh_amigo(N)) != 0) printf("%4llu: [%llu,%llu]\n", 1 + par, N, outro), ++par; ++N; // proximo candidato }; // for printf("\nFim\n"); return 0; } inline size_t soma_div(const size_t val) { size_t soma = 1; for (size_t divisor = 2; divisor <= val / 2; divisor += 1) if (val % divisor == 0) soma += divisor; return soma; } size_t eh_amigo(size_t val) { size_t soma = soma_div(val); if (soma <= val) return 0; if (soma_div(soma) == val) return soma; return 0; }
  3. Sim, se pode usar um vetor para isso, mas também pode mostrar o par apenas na primeira ou segunda vez em que ele aparece, já que os elementos são diferentes em cada par. @jaireugenio use o botão code, como está explicado no primeiro post desse forum. Veja a diferença Pois é: esse é o código de "um cara", como você citou, usando o tal botão code: #include <stdio.h> int main() { int n, divisor, r, soma1, soma2, y, x; scanf("%d", &x); if (x > 3) { y = x * 1500; } else y = x * 1000; for (n = 2; n <= y; n++) { soma1 = 1; for (divisor = 2; divisor <= n / 2; divisor++) { if (n % divisor == 0) soma1 += divisor; // calcula a soma dos // divisores } soma2 = 1; if (soma1 != n) for (divisor = 2; divisor <= soma1 / 2; divisor++) { if (soma1 % divisor == 0) soma2 += divisor; // calcula a soma dos // divisores } if (soma2 == n) // verificar se a soma dos // divisores eh igual ao numero { printf("(%d,%d)\n", n, soma1); } } return 0; } O código "adaptado" como você disse #include <stdio.h> int main() { int n, divisor, r, soma1, soma2, y, x; scanf("%d", &x); if (x > 3) { y = x * 1500; } else y = x * 1000; for (n = 2; n <= y; n++) { soma1 = 1; for (divisor = 2; divisor <= n / 2; divisor++) { if (n % divisor == 0) soma1 += divisor; // calcula a soma dos // divisores } soma2 = 1; if (soma1 != n) for (divisor = 2; divisor <= soma1 / 2; divisor++) { if (soma1 % divisor == 0) soma2 += divisor; // calcula a soma dos // divisores } if (soma2 == n && n < soma1) // verificar se a soma dos divisores // eh igual ao numero { printf("(%d,%d)\n", n, soma1); } } return 0; } A sua adaptação: Essa é a tela do IDE do Visual Studio mostrando as diferenças entre o programa de "um cara que estava tendo uma questão parecida com a minha" como disse, e o seu programa solução: acrescentou o comentário e a condição no if. Muito bem. Do post #9: E aaí está a condição. Sobre o código FINAL Bom que conseguiu adaptar o programa e chegar a uma solução, mudando apenas 2 linhas! if (x > 3) { y = x * 1500; } else y = x * 1000; Sabe explicar de onde vem esses números? Não seria mais simples contar os pares, de um em um? Seu professor pode querer saber... Sei que é a solução de "um cara" mas você ao copiar podia usar chaves de um modo mais consistente. Não precisa delas em nenhuma das condições, mas se vai usar use duas ou nenhuma... if (x > 3) y = x * 1500; else y = x * 1000; // ou if (x > 3) { y = x * 1500; } else { y = x * 1000; } leia o manual: scanf() retorna um int. TESTE. Seu professor pode teclar um 'x' lá só pra ver se você pensou nisso. é muito chato ficar olhando para uma tela onde não tem nada escrito e imaginar que tem que digitar um número inteiro positivo entre 1 e 9 ( inclusive). Já pensou em escrever isso numa mensagem, usando aquele comando printf explicando o que o cara deve digitar? Leu o que eu expliquei sobe ser esperado digitar o número JUNTO com o nome do programa? para que serve 'r'? Seu professor pode querer saber. Veja as mensagens de seu compilador. Sabe o que acontece se o cara digitar por exemplo 500? Testou "seu" programa?
  4. Então você acha que é a pior, mas não tem você uma justificativa técnica, apenas um palpite? uma sensação? Vai encontrar aqui gente dizendo a mesma coisa sobre a Net e a VIVO, que está claro que uma ou outra não presta e que por isso precisam colocar o aparelho da operadora em modo bridge e tal... E em geral também, nos posts aqui, sem uma razão técnica ou um argumento sólido.
  5. [ligeiramente off-topic ] @Ansi C Sabe o que é a "coleção schaum"? Passados 10 dias da pergunta achei que podia ter uma referência aqui sobre essa questão e sobre o modo de escrever isso. Na minha opinião você está diminuindo a capacidade dos iniciantes. Sempre tem os caras que não vão nem tentar fazer antes de tentar copiar de toda possível parte. O forum é uma possível parte, por definição e missão. As pessoas vem para o forum --- e empresas que anunciam no site --- por essa razão. Stack Overflow e o Stack Exchange em geral são a referência do planeta para isso. Mas tem gente que aprende com referências. Pode usar o exemplo que eu escrevi e salvar tal lista para até onde size_t comporta. Para números maiores pode só reescrever esse programa em uma linguagem que tenha inteiros de maior tamanho, como Python ou java, ou escrever (ou usar de alguém) uma biblioteca de aritmética para inteiros em C. Não é complicado.
  6. Entendo. Mas um servidor de autenticação não é um roteador. E não é pra ser um peso mas sim um benefício. É muito mais simples de administrar. Provavelmente não em essa necessidade porque seus dispositivos estão sempre na rede e nem geram tráfego. Se atendesse 70 dispositivos de um universo de 500 cadastrados, como celulares, tablets e notebooks, veria a dificuldade em manter essas listas atualizadas. Por isso se usa algo como RADIUS e LDAP. Tem um script para substituir um roteador desses em caso de pane, por exemplo? Pois é. Se esse roteador morre tem um programa para recarregar essas listas?
  7. Mais ou menos como está no enunciado, aposta --- ou sorteio manual --- é quando por exemplo o sujeito vai na lotérica, pega o formulário e marca entre 6 e 15 dezenas. Aí ele vai ao caixa e registra o tal sorteio_manual e paga pelo sorteio manual. Ou aposta. O próximo passo é aguardar o sorteio, aqui chamado de exibe_numeros_sorteio(). Depois disso tem a fase da conferência, aqui sendo uma opção de exibe_numeros_sorteio(), ao que parece.
  8. Então o problema postado como de C++ é um programa em C `sorteio_manual()` é o que se costuma chamar de aposta `exibe_numeros_sorteio()` é, ou inclui, o que se costuma chamar de sorteio e a conferência da aposta está embutida em `exibe_numeros_sorteio()` usando um parâmetro E como está o código agora?
  9. Amizade entre números Esse nome é um tanto estranho e não corresponde à noção de amizade: Um número é dito amigo se a soma de seus divisores é igual à soma dos divisores do valor dessa soma. Assim, se um número é amigo ele tem um único amigo. Nada social. E aparentemente um número não pode ser amigo dele mesmo, caso do óbvio 1 e do 28 por exemplo, já que 28 tem 1,2,4,7 e 14 como divisores e a soma é... 28. Claro que a amizade é comutativa, já que a igualdade é comutativa. O primeiro par de amigos seria [220,284], sem considerar [1,1] e [28,28]: os divisores de 220 são 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 e 110, e a soma é 284 os divisores de 284 são 1, 2, 4, 71 e 142, e a soma é 220 Assim se `a` é amigo de `b`, então `b` é amigo de `a`. E eles não tem outros amigos... De volta ao código original int amigo(int n1, int n2) { int div1 = 1, div2 = 1, soma1 = 0, soma2 = 0; while (n1 >= div1 * 2) { if (n1 % div1 == 0) { soma1 = soma1 + div1; } div1++; } while (n2 >= div2 * 2) { if (n2 % div2 == 0) { soma2 = soma2 + div2; } div2++; } if (soma1 == n2 && soma2 == n1) { // neste caso sao amigos return 1; } return 0; } Isso parece que está certo na determinação da relação, mas a lógica nem tanto. Não sou eu que vou corrigir isso, mas considere: Se um número é amigo está claro de quem ele é amigo. Ou tem um ou não tem nenhum. Não é nada esperto procurar um por um. Veja o caso do tal 220: a soma é 284. A única chance de ser esse um número amigo é de a soma dos divisores de 284 dar 220. E é. Então esse loop no programa não tem muito sentido: int main() { int x, y, f = 220, k, num1, num2; scanf("%d", &x); for (y = 1; y <= x; y++) { // repetir a quant de amigos a procurar num1 = f; num2 = num1; while (num1) { while (num2) { // printf("%d %d\n",num1, num2); num2++; if (amigo(num1, num2) == 1) { f = num1; k = num2; printf("(%d,%d)", num1, num2); num1 = 0; num2 = 0; } } num1++; } } return 0; } De nada adianta testar amigo(num1, num2) para todos os pares possíveis se só tem uma possível solução... exemplo Essa função retorna a soma dos divisores de um número. Note que em C size_t é melhor que int. Não há sinal nesses números. size_t soma_div(size_t val) { size_t n_div = 1; size_t soma = 1; // os pares a*b size_t div = 2; size_t q = 0; do { q = val / div; if (q * div == val) { // quadrado perfeito? if (q != div) soma += div; soma += q; } div += 1; } while (q >= div); return soma; } Se ela retorna a soma então essa outra size_t is_friend(size_t val) { size_t soma = soma_div(val); if (soma <= val) return 0; if (soma_div(soma) == val) return soma; return 0; } retorna 0 se o número não é amigo, ou retorna o número amigo. Mais simples de ler e entender. E evita a repetição dos pares, e também casos como o do 28, amigo de si mesmo. Basta uma linha a mais. exemplo completo #define DEF_LIMITE 81 #include<stdio.h> #include <stdlib.h> size_t is_friend(size_t val); size_t soma_div(size_t n); int main(int argc, char** argv) { size_t n_pares = 10; size_t temp = 0; if (argc > 1) { // limita o total de pares para não ter que esperar muito // nem pensar em overflow temp = atoi(argv[1]); if ((temp != 0) && (temp < DEF_LIMITE)) n_pares = temp; } printf( "\nListando os primeiros %llu pares de numeros " "amigos\n\n", n_pares); size_t outro = 0; size_t N = 2; for (size_t par = 0; par < n_pares;) { outro = is_friend(N); if (outro != 0) { printf( "%4llu: [%llu,%llu]\n", 1 + par, N, outro); ++par; }; ++N; // proximo candidato }; // for return 0; } size_t is_friend(size_t val) { size_t soma = soma_div(val); if (soma <= val) return 0; if (soma_div(soma) == val) return soma; return 0; } inline size_t soma_div(size_t val) { size_t n_div = 1; size_t soma = 1; // os pares a*b size_t div = 2; size_t q = 0; do { q = val / div; if (q * div == val) { // quadrado perfeito? if (q != div) soma += div; soma += q; } div += 1; } while (q >= div); return soma; } saída do exemplo C:\Clube\p.exe Listando os primeiros 10 pares de numeros amigos 1: [220,284] 2: [1184,1210] 3: [2620,2924] 4: [5020,5564] 5: [6232,6368] 6: [10744,10856] 7: [12285,14595] 8: [17296,18416] 9: [63020,76084] 10: [66928,66992] C:\Clube\p.exe 80 Listando os primeiros 80 pares de numeros amigos 1: [220,284] 2: [1184,1210] 3: [2620,2924] 4: [5020,5564] 5: [6232,6368] 6: [10744,10856] 7: [12285,14595] 8: [17296,18416] 9: [63020,76084] 10: [66928,66992] 11: [67095,71145] 12: [69615,87633] 13: [79750,88730] 14: [100485,124155] 15: [122265,139815] 16: [122368,123152] 17: [141664,153176] 18: [142310,168730] 19: [171856,176336] 20: [176272,180848] 21: [185368,203432] 22: [196724,202444] 23: [280540,365084] 24: [308620,389924] 25: [319550,430402] 26: [356408,399592] 27: [437456,455344] 28: [469028,486178] 29: [503056,514736] 30: [522405,525915] 31: [600392,669688] 32: [609928,686072] 33: [624184,691256] 34: [635624,712216] 35: [643336,652664] 36: [667964,783556] 37: [726104,796696] 38: [802725,863835] 39: [879712,901424] 40: [898216,980984] 41: [947835,1125765] 42: [998104,1043096] 43: [1077890,1099390] 44: [1154450,1189150] 45: [1156870,1292570] 46: [1175265,1438983] 47: [1185376,1286744] 48: [1280565,1340235] 49: [1328470,1483850] 50: [1358595,1486845] 51: [1392368,1464592] 52: [1466150,1747930] 53: [1468324,1749212] 54: [1511930,1598470] 55: [1669910,2062570] 56: [1798875,1870245] 57: [2082464,2090656] 58: [2236570,2429030] 59: [2652728,2941672] 60: [2723792,2874064] 61: [2728726,3077354] 62: [2739704,2928136] 63: [2802416,2947216] 64: [2803580,3716164] 65: [3276856,3721544] 66: [3606850,3892670] 67: [3786904,4300136] 68: [3805264,4006736] 69: [4238984,4314616] 70: [4246130,4488910] 71: [4259750,4445050] 72: [4482765,5120595] 73: [4532710,6135962] 74: [4604776,5162744] 75: [5123090,5504110] 76: [5147032,5843048] 77: [5232010,5799542] 78: [5357625,5684679] 79: [5385310,5812130] 80: [5459176,5495264] É mais simples --- e esperado --- usar a linha de comando para argumentos óbvios, e ter um padrão para quando o cara não digita nada. Esse exemplo assume 10 pares se o cara não digitar nada, e limita em 80 o total máximo, porque demora e o total de pares nada muda para o programa.
  10. Nada tem a ver uma coisa com a outra. Talvez não tenha definido o endereço dele antes de mudar o modo de operação. Qualquer modo de operação que habilite as antenas vai ter o mesmo alcance e performance no wifi. Nada tem a ver DHCP ou modo de operação com isso. E nem a faixa de IP na verdade. E não é surpresa o sinal do wifi ser melhor, já que esse aparelho é bem mais moderno que o outro, tem mais capacidade de processamento e memória e usa uma versão mais moderna de wifi. Acho que até vi um desses tutoriais que explicam a grande vantagem de usar um roteador em modo AP, a partir de uma recomendação de um usuário aqui do forum. E o que dizem esses sites é ingênuo e muitas vezes errado, como nesse vídeo que vi no youtube com mais de 1 milhão de visualizações e cheio de erros e inconsistências. Usar como ponto de acesso não vai distribuir wifi de modo diferente. E não traz nada de especial. Em resumo, não entendo que haja grande vantagem em usar isso, se alguma. Eu uso um assim até, em minha casa. Mas é um roteador que está dentro do forro (desde 2019 eu acho) e que era pra ser mesmo um AP, só que ele já estava lá parado então acabou indo pro telhado, um AX10 da marca TP-Link. O roteador deve funcionar ok em modo roteador, o simples. Colocar o roteador que já em em modo bridge não é em geral esperto ou conveniente. Roteadores comuns que a claro usa são da classe AC1800 ou superior, e tem 4 portas ethernet. Entenda que ao colocar o modem em modo bridge (ponte) ele desaparece da rede e passa a ser, sem surpresas, uma ponte de rede. Não vai ter endereço IP na LAN, já que vai atuar apenas como conversor de mídia, oferencendo uma conexão RJ45 ethernet a partir de uma conexão via cabo coaxial. Não vai ter wifi nem ethernet via cabo. E em sua rede ao usar 192.168.31.0 E 192.168.0.0 está usando duas redes IP separadas --- estaria, já que como expliquei o modo bridge não tem endere;co na LAN --- e acredite, você não quer isso: só dá problema e perda de banda. O aparelho da Claro em modo bridge É muito comum usar bridge em empresas porque muitas vezes se tem mais de um provedor de acesso esses aparelhos por vezes perdem a configuração, em especial durante tempestades e quedas seguidas de energia, o que qualquer um que more no litoral deve ter visto com a NET/Claro nesse início do ano, em que choveu muito. E em 2023 que foi o caos no litoral de SP, onde estou. muitas empresas não tem suporte local permanente e fica muito caro e arriscado ficar dependendo de um aparelho assim, se por acaso a configuração padrão dele não atende. vários AP e roteadores em paralelo podem ser mais convenientes e simples de controlar Mas em uma rede doméstica faz pouco sentido porque esses aparelhos da Claro são dual band da classe AC1800, com uns 300+1500 mbps em wifi e 4 portas ethernet. E você não pode por as antenas de seu AX5400 em dois lugares ao mesmo tempo. Obviamente a cobertura de wifi vai diminuir. Em números absolutos vai cair 25% certo? De 7200 para 5400 mbps e a cobertura não tem mágica: pode ter um roteador em cada piso, um do lado norte um do lado sul da casa, ou algo assim. acho que sabe que wifi a 5ghz raramente passa duas paredes antes de se tornar inútil, então desligar a antena de 5Ghz da Claro é no mínimo esquisito se pode usar um de cada lado da casa se usar os dois roteadores terá 6 portas ethernet. Usando só um vai ter quantas? 4. 33% menos e se usar ethernet em um lugar só ao invés de 2 dá pra imaginar que pode precisar de cabos muito mais compridos Não por acaso o simples é usar um roteador perto de cada TV que tenha na casa, já que TV são grandes consumidoras de banda hoje em dia e são grandes. Muitas vezes o roteador pode ficar pendurado atrás delas mesmo, ou naqueles móveis compridos que muita gente usa... Postei aqui por exemplo muitos roteiros de como configurar isso, mas parei de repetir ainda em 2023. Pode ver no meu conteúdo se interesar, ou me avise e posta aqui uma lista que não tenho agora. DHCP e rede IP O mais esperto é deixar DHCP ativo nos dois, para diminuir as latências e manter a rede funcionando se um dlees parar. Não dá pra crer que existam tantos "tutoriais" sugerindo manter 1 único serviço desses. E a redundância? E as latências na rede do outro aparelho? Deve usar uma única rede IP ou via ser um pesadelo o espelhamento de tela, compartilhamento de arquivos, uso de impressoras wifi e a p. do mútiplo NAT que pode comer até 40% da banda na segunda rede...
  11. Acho que está "nadando contra a correnteza" e isso cansa muito. Esses aparelhos não foram feitos para isso e, a menos que tenha escrito scripts de automação para controlar --- a manutenção de uma coisa dessas é chata, impossível, para dizer o mínimo. Considere um servidor de autenticação. Pode ser um micro antigo rodando Linux, ou RouterOS que é Linux. RADIUS é o serviço de que precisa, e fi criado exatamente para isso. Acho que todo aparelho relativamente moderno é compatível com isso, e todos esses dessa marca TP-Link. E do modo como está tentando a performance vai cair muito na segunda rede, E trazer muitos outros problemas, com encaminhameno de portas, streaming, impressoras e tal. Se isso está indo bem pra você divida os dispositivos em dois grupos de 64 e deixe uma única rede IP. Não use as portas WAN. O simples. Use DHCP nos dois e uma white list em cada um. Vai ter muito menos trabalho e muito melhor performance. Mas o simples é usar um servidor Radius.
  12. @Binhaolinux10 O marketing criou novos significados para QoS. Entenda que QoS tem a ver com priorização de tráfego, e não controle ou limitação de banda por dispositivo. QoS serve por exemplo para priorizar o tráfego de VOIP na rede para ter melhor audio nas ligações. Ou para priorizar pacotes de streaming de vídeo na rede. Se você tem um dispositivo que "redefine" o que é QoS, talvez apresentando uma tabela de valores em mbps para upload e download por dispositivo, então deve ver na documentação desse aparelho o que eles entendem por QoS e como usar. Ou dizer aqui que aparelho é esse, de modo que alguém por exemplo que tenha um possa opinar.
  13. @Caiocaf1 Ver uma ponta só do cabo não ajuda muito. É sim fora do padrão, mas se do outro lado estiver igualzinho não faz mesmo diferença para essas curtas distâncias. Até onde eu sei os aparelhos de TV (set top box) da VIVO operam em FE, 100mbits. E não precisam mesmo de mais que isso. Assim poderiam usar mesmo cabos de 4 vias e estaria ok. CAT5E é o adequado para seu uso, com até 95+5m de cabo. 100 ou 300 ou 3 mbps de contrato com o provedor nada tem a ver com sua rede local. É natural e esperado que a velocidade na LAN seja muito maior. Não é estranho ter uma LAN a 25 ou 100G e nem ter conexão permanente com a internet. Teste sua rede dentro de sua rede. É mais simples. Não misture as coisas. Algo comum é usar um arquivo grande, ou uma pasta com vários gigabytes, e transferir entre as estações e ver tempos e estabilidade. Sobre a velocidade, veja o que o sistema reporta e não esses testes de velocidade com a internet, que são outra coisa e apenas recebem dados sem sentido e que não vão ser processados.
  14. Cabo de rede nada tem a ver com a internet. Só vai usar para ligar o seu PC com outro aparelho. Não foi por isso. Esse cabo deve estar com defeito. Cat6 deve ir até uns 10.000 mbps com esse cabo até 95+5m dependendo claro do que tiver em cada ponta. Usando o cabo direto entre dois aparelhos e até uns 20m pode conseguir algo mais até. Mas com seus aparelhos não vai além de 1.000 mbps.
  15. É muito difícil ter problema com o cabo. Em geral é um dos conectores que não está bom. Pode testar as 8 vias do cabo com um multimetro medindo a resistência, e trocar os conectores em alguma loja de informatica na hora. Não precisa de conectores cat6, pode usar cat5e que são adequados e mais baratos.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!