Ir ao conteúdo
  • Cadastre-se

arfneto

Membro Pleno
  • Posts

    6.218
  • Cadastrado em

  • Última visita

Tudo que arfneto postou

  1. Um comando for tem 3 partes.Todas as 3 são opcionais. No programa acima só se usa a segunda parte, o teste, e assim é algo como for ( ; condicao ; ) { /* comandos */ } e a tal condição será simplesmente for (; nfichas <= 0; ) isso pelo uso folclórico do operador `,`, vírgula, que faz com que todos os comandos da lista sejam executados, e o resultado da expressào seja o resultado do último comando. Nesse caso a lista printf ("%s", "(0 = anulará operação)? "), fgets (prompt, BUFSIZ - 1, stdin), sscanf (prompt, " %i", &nfichas), (nfichas <= 0) E nenhum comando foi usado, e a llista completamente omitida. Isso quer dizer que esse for não tem comandos, nem inicializaçao nem incremento. Talvez pudesse escrever assim for ( ; printf ("%s", "(0 = anulará operação)? "), fgets (prompt, BUFSIZ - 1, stdin), sscanf (prompt, " %i", &nfichas), (nfichas <= 0) ; ) {}; Ao menos para deixar claro que é de propósito que não há comandos. É válido programar assim, mas provavelmente não faria bem para sua nota ou seu emprego. E nem para quem viesse depois de você trabalhar com esse tipo de programa. Ou mesmo para você daqui uma semana. De todo modo está errado. Note o que eu escrevi na resposta anterior: Pois é. Se fgets (prompt, BUFSIZ - 1, stdin), fgets não ler nada o valor de prompt fica inalerado e sscanf vai ler sempre a mesma coisa. Teste o retorno. sscanf (prompt, " %i", &nfichas), E se sscanf não ler nada nfichas vai ficar com o valor de antes. Teste o retorno (nfichas <= 0) E ESSE VALOR NÃO VAI MUDAR NUNCA, ENTÃO O PROGRAMA NÃO VAI TERMINAR NUNCA... Sobre isso: Tmbém não faira nada bem para sua nota ou emprego: Sempre teste antes a condição definitiva, e não use else para um return. Não precisa desses parenteses: -1 é o mesmo que (-1) ou (((-1))) Em C 0 é falso, todo o resto é verdadeiro. Por isso pode usar if (nfichas) /* SE difere do 0 */ Mas se usa o teste sem o sinal é porque sabe o que (nfichas) é a mesma coisa que (nfichas == 0), e então não precisa do comentário "Se difere do 0". Mas se vai colocar o comentário é muito mais simples usar o óbvio if (nfichas != 0) Prefira if ( nfichas == 0) return -1; printf ("[!] %s--- quantia inválida.\n" "Dê-me quantia >= 0.\n\n", prompt), prompt [0] = '\0'; Mas considere que esse printf com metade da mensagem no argumento e mensagem como uma string constante e usada uma única vez também é dispensável: prefira printf ("[!] Dê-me quantia >= 0.\n\n%s--- quantia inválida.\n"); // ou printf ("%s\n", "[!] Dê-me quantia >= 0.\n\n%s--- quantia inválida.\n"); E considere que '\0' é a mesma coisa que 0. E colocar um zero na primeria posição de prompt de nada vai servir no programa.
  2. Não há perdas por "tomada de rede". A norma garante até 95+5m. 95m do cabo, 5 do patch cord. Conectado via cabo chega a 10 100 ou 1000. Não a 350. Isso é do tráfego com a internet? nada tem a ver com a rede. Então o notebook conecta a gigabit e você colocou o pc lá e ligou com o mesmo cabo e conectou a 100?
  3. Não, não ficam no mesmo canal. 2.4ghz tem mais de 10 canais. No BR os canais que não são sobrepostos são as 1 6 e 11 e devem ter preferência. E ainda tem a questão da amplitude de banda, 20 ou 40 MHz. Veja a configuração de um roteador comum: Como isso tudo é dinâmico (nunca se sabe o que o vizinho vai ligar ou desligar no minuto seguinte), e se pode ter numa cidade grande mais de 50 redes ao alcance num dado momento, em geral não é nada inteligente tirar isso do automático, já que no minuto seguinte ou no dia seguinte a configuração de rede pode mudar totalmente. Imagine se todos seus vizinhos lerem o mesmo genial tutorial em algum fourm que diz pra usar apenas o canal 6 a 40 MHz....
  4. Quando postar um programa poste algo completo, que se possa compilar. Deve imaginar que fica difícil ajudar sem ler o que tem em Cliente.h, certo? Use o botão Code, como explicado no primeiro post desse forum. //CRIAR FUNÇÃO QUE APAGA O ARQUIVO TXT free(clientes); //Esvaziamento da memória alocada pelo ponteiro clientes Mesmo ser ler cliente.h, dá pra entender que free(clientes) não cria uma função e nem apaga o arquivo txt. clientes é apenas uma estrutura alocada no início do programa, está na memória. Entenda que scanf é um scanner, dá pra ver pelo nome. scanf (e fscanf e sscanf) tentar ler (scan) algo da entrada a partir dos especificadores. Essas funções retornam um int com o número de valores que conseguiu ler. Pode não ler nada e não é um erro. Veja o manual: se retornar zero é porque não leu nada e essa é a resposta para sua pergunta. O ponteiro já foi alocado, estáticamente. O que está alocando aí é uma area, O tamanho dela é a expressão que passou para malloc. malloc() retorna um endereço, que será atribuido ao ponteiro, estático clientes, cujo tipo é Cliente* como seu compilador ou IDE pode mostrar. malloc() retorna void* então pode atribuir a qualquer ponteiro. fgets(buffer_teclado, TAMANHO_BUFFER, stdin); sscanf(buffer_teclado, "%i", &numero_clientes); /* Checa se o primeiro caractere é uma letra do alfabeto * isalpha e uma função que pertence a biblioteca ctype */ if (isalpha(*buffer_teclado)) { printf("Entrada Invalida!\n"); } Isso está errado fgets() pode não ler nada e é por isso que retorna um NULL se não ler nada ou o endereço do buffer se leu algo. Só que o programa não testa. Todo dia programas de iniciantes entram em loop por esse erro: coninuam rodando com os valores que já estavam em buffer_teclado quando fgets() não lê nada. sscanf() com % tenta ler um int. Se nã ler retorna zero. Só que não testou então não adianta nada E aí volta a testar *buffer_teclado para ver se é uma letra? Então porque não usa atoi() siimplesmente, em *buffer_teclado? Evite declarar mais de uma variável por linha. Linhas são grátis. E evite usar int para valores que não podem ser negativos, porque é mais uma coisa prá testar sem necessidade. Seu insrutor pode digitar -42 para o número de clientes e aí seu programa já era. Use unsigned. Entenda que está declarando aí uma variável: clientes. Em C variáveis tem um tipo. Qual o tipo de clientes? clientes é Cliente*. É isso que está declarando. Espaços não fazem diferença em C. O compilador não se importa. Mas se declara char** ** coisa = NULL; Isso quer dizer que ***coisa é do tipo char* **coisa é to tipo char** *coisa é do tipo char*** coisa é do tipo char**** Isso é C. Isso se chama dereference, de-referência. Cada asterisco à esquerda usa o valor apontado para o ponteiro, como uma variável do tipo ao qual ele aponta. EXEMPLO Considere esse programa #include <stdio.h> int main(void) { int* p = NULL; // não aponta para nada int algum = 30; int valor = 42; p = &algum; printf("*p = %d, valor = %d\n", *p, valor); valor = *p; printf("*p = %d, valor = %d\n", *p, valor); p = &valor; printf("*p = %d, valor = %d\n", *p, valor); return 0; } E a saída *p = 30, valor = 42 *p = 30, valor = 30 *p = 30, valor = 30 E acompanhe o efeito dos operadores * e &. É essencial em C Porque estou escrevendo isso? Veja as declarações abaixo int* p1 = &valor; int *p2 = &valor; int*p3=&valor; int * p4 = &valor; p1 p2 p3 e p4 são ponteiros para int, apontam para o mesmo lugar e as declarações são equivalentes. Mas só a primeira expressa a realidade de imediato para quem está lendo isso. De todo modo quem decide é sempre a empresa ou a instituição: empresas e escolas tem regras para código, alinhamento, posição de chaves e parenteses, nomenclatura, máximo de linhas por função, o .
  5. @Bruna94 em 2.4Ghz pode esperar conexões a 53 ou 22 mesmo 11 mbps conforme se afaste o dispositivo do AP. Isso nada tem a ver com quantos mbps contrata para acesso a internet. Se desligar o sinal que vem da internet o wifi continua funcionando, bem como a rede local como um todo. Nada tem a ver uma coisa com a outra. Se tiver um AP tipo esses roteadores AC1200 (400+800) e mais um outro como esses AX3000 (600+2400 em 2.4 e 5 GHz) terá hipotéticos 4200mbps de tráfego em wifi. Desses até 1000 mbps em wifi a 2.4ghz. Nada tem a ver com a internet. Deixe a negociação de canais no automático. Isso é o que diminui a chance de interferência e não o contrário.
  6. Como eu disse, 500mbps, meio gigabit, nada tem a ver com sua conexão de rede. Isso é de seu plano de conexão com a internet, para atender TUDO que estiver ligado na rede. O que o sistema reporta para sua conexão? 100 mbits? No painel de controle? Faça o simples e leve esse PC para esse "outro comodo" onde o notebook se conecta ok, e veja se ele se conecta a 10, 100 ou 1000 na rede com o mesmo cabo do notebook. Não perca tempo com a internet, que nada tem a ver com isso. E verifique o conector como te falei. Se o notebook se conecta em gigabit nesse outro comodo, enão leve o notebook até onde está o PC e teste com o mesmo cabo que usa com o PC.
  7. @Renan Rezende Sim, interfere na conexão de rede. Nada tem a ver com a internet. 700 mbps é 70% de 1000 mbps, então o padrão gigabit é mais que adequado para seu caso. Esse padrão é de 1999 e os cabos e conectores adequados são de categoria 5E, disponíveis desde aquela época. São os cabos mais comuns de encontrar hoje em dia. São adequados para até 95+5 metros de cabo, no caso de instalações comuns que vem por dutos: 95m desde o equipamento de entrada até o soquete na parede, e mais 5 metros no cabo, o tal patch cord. Você só usa esse. Pode usar cabos de categoria superior, claro. São muito mais caros, muito mais duros. Use conectores compatíveis. A diferença de performance vai ser zero.
  8. A velocidade de conexão não é configurável. O que "configurou" é um limite. BIOS não vai ajudar: o padrão gigabit é de 1999 en sua placa deve ser mais nova que isso. drivers de rede para placas comuns nessa velocidade podem resolver problemas, mas não devem mudar nada para conexão em uma velocidade e padrão estáveis há mais de 20 anos. Verifique com muito cuidado o alinhamento dos conectores no soquete da sua placa de rede, com especial atenção para os pinos do meio, 4 e 5, e o último, 8. Em geral é isso.
  9. Não deve fazer a menor diferença. Mas se for mudar enenda que esses cabos são mais duros e mais grossos e como parte do padrão 6 tem uma canaleta plástica dura dentro. Se vai passar por um duto considere que pode dar mais trabaalho, e caber menos cabos. Noe que deve usar conectres CAT6 também ou não faria muito sentido. De todo modo não precisa disso, porque cabos Cat5E são garantidos para até 1000mbps, bem mais que 600, e provavelmente seus equipamentos não funcionam a mais de 1000 também. Isso para situações de não ter muita interferência e até 95+5 metros de cabo. Antes de gastar temp e dinheiro verifique o que o sistema reporta para essa conexão entre o roteador e o pc. E se puder TESTE com algum outro dispositivo na rede. Antes de se preocupar com a internet deve estar absolutamente certo de que a rede local está ok. Você pode precisar e ter uma ree local a 10.000mbps e estar ok com um link de de 200 mbps para a internet. Nada tem a ver uma coisa com a outra.
  10. Um cabo de rede é assim, físico. E pode acontecer de não conectar em uma porta e conectar em outra, como acontece aí. É estranho, mas é uma conexão física. Conecte com o tal cabo curto com o computador na sala e veja o que o sistema reporta em termos de velocidade de conexão, como eu disse antes. Deve imaginar que faz diferença o tipo de aparelho que usa no quarto. Fica difícil alguém imaginar o que tem lá e de dar alguma opinião. Considere fazer o simples e dizer o que tem no quarto e na sala, marca, modelo, como está ligado. O mínimo. E dizer o que seu pc reporta em termos de conexão de rede. Repito: nada tem a ver a conexão de rede com a internet. Em nenhum desses casos seu pc estará liga a internet, apenas com a rede local. E a rede local funciona igualzinho sem conexão com a internet. Arrume a rede local antes de considerar a internet.
  11. O que torna um cabo secundário ou principal? Antes de qualquer coisa leve seu computador até um desses roteadores e conecte com os dois cabos e compare os casos. Conexão de rede nada tem a ver com internet Não consegui entender. Não existe chip de internet. repetidores não passam internet. Apenas repetem sinal de rede wifi. Nada tem a ver com internet.
  12. 800mbps é bem menos que 1000 mbps então qualquer roteador que tenha portas gigabit serve. Se vai usar wifi use qualquer um que tenha wifi6 ao menos. Nos últimos tempos comprei vários da marca tp-link modelo AX12, 1500 mbps em wifi e AX53, 3000 mbps em wifi, e nenhum deu qualquer tipo de problema até agora.
  13. Sem DHCP não vai ter como obter endereços, ao menos não desse roteador NAT nada tem a ver com esse contexto, nem a marca do roteador. Se tem um roteador provavelmente não deve usar como AP. Se precisa de um AP use um. Use os roteadores ligados via LAN, com endereços de rede fixos, na mesma rede do tal MK.
  14. Quer dizer que qualquer um pode ler e alterar qualquer parte do sistema, porque pode ter acesso a todo o código fonte. o tal kernel. E se você fizer algo com ele deve também manter aberto e disponível o código do que você mudou. Porque o código é aberto então boa parte do caminho já está aí: não precisa de engenharia reserva como no Windows. Daí a julgar vulnerável é um longo caminho, mas o código é aberto. Linux foi clonado, copiado, sem qualquer cerimônia. Foi copiado de um sistema comercial e caro e desenvolvido por uma empresa séria, a AT&T. Era o Unix. Um cara se revoltou contra os mecanismos e preços de licenciamento do Unix e começou a desenvolver uma cópia, fiel e descarada, do Unix. E distribuir o código e aceitar colaborações. Assim ninguém seria culpado ou preso mas queria saber o que o Ken Thompson acha disso hoje ou naquela época. Sim. O mais comum é o firewalld. Não sei julgar. Muitos dos componentes continuam sendo atualizados, coisas como bind (DNS), samba (arquivos), openssh (acesso remoto), sendmail (mail) e outros continuam sendo atualizados. E qualquer um pode baixar o código e compilar novas versões. Mesmo do kernel em si. Mas nada disso é assim trivial. Unix é do tempo em que quase todo mundo que usava um computador era um programador. Hoje quase ninguém é. De todo modo o sistema é grátis e cada dia mais simples de instalar, de modo que não há razão assim aparente para não atualizar simplesmente.
  15. Não é o caso de mudar a velocidade da internet, já que você disse que é incrível. A rede local é que parece ser um problema. Não precisa de Cat6 para um cabo interno nesse comprimento e velocidade. Com "mais força" por usar um cabo? Que significa? Ou falta algum detalhe e se refere a usar esse cabo para levar a um AP e fala de sinal de wifi nessa sala? Não é a "internet" e sim o sinal da rede local. E nesse caso usar cabos blindados Cat5e ou mesmo Cat6 seria mais indicado, porque o comprimento é bem maior e pode haver interferências. O que o sistema reporta sobre uma conexão de rede na edícula? Conecta a 10 100 ou 1000 mbps? Seu problema nada tem a ver com a interne. Meça o desempenho entre um dispositivo na sala, outro no quarto e outro na edícula e veja o que acontece. Quais equipamentos tem ligados nessa rede? Tem mais de um PC ou notebook ao menos para poder testar?
  16. @ChloeHere Acho que entendo o que quer fazer, mas não o que explicou... Está certo sobre esse julgamento? O que é objetivamente "pecar muito"? Nada tem a ver uma coisa com a outra, modem em modo bridge, firewall e essa necessidade de que falou. Como vai endereçar suas câmeras? Quantas são? O gravador é um aplicativo ou um DVR físico? Há muitas maneiras de fazer isso. Se tem pouco câmeras pode apenas usar uma black_list em um dos roteadores. Se o DVR é um aparelho pode usar o roteador da P_link apenas com as câmeras e ligar via WAN assim está segmentado de todo modo. E no roteador da operadora você encaminha o acesso para o TP-Link e dele para o DVR.
  17. Entenda que a licença não fica em sua máquina. Quem diz que a ativação foi bem sucedida é a microsoft. E a ativação associa a licença à placa-mãe e ao processador. Se não trocar nenhum dos dois, assim que for feita uma instalação e o sistema perceber que não há licença ativa ele vai tentar a ativação. E ela vai funcionar porque foi ativado antes. A licença não fica na sua máquina, na sua máquina fica um registro criptografado da ativação. Se reinstalar vai gerar outro. Se usar uma máquina virtual é claro que sua placa-mãe virtual será outra e não vai ativar. Se ativou em uma licença Pro pode ativar na mesma máquina uma licença Home. Enterprise é outra parada e vai sempre seguir Enterprise. O contrário não é verdade: uma máquina com licença home ativada não vai ativar se instalar outra versão. Se precisa sumir com essa licença a única opção é comprar outra e seguir as instruções do menu.
  18. Em que cidade está isso? Parece tão estranho. Explico: tenho 3 contas na CLARO em cidades diferentes. Nessas quando há troca de firmware ou por alguma razão precisa trocar o modem, já no primeiro acesso vem uma tela dizendo que é preciso colocar uma nova senha e não consigo passar adiante sem isso. E o usuario original é CLARO_XXXXXX onde esse XXXXXX vem dos últimos 6 dígitos do endereço MAC do modem. Se colocar em modo bridge --- ponte --- o modem vira isso, uma ponte, apenas um conversor de mídia. E não consegue acessar nada porque ele não faz mais parte da rede.
  19. Sempre vai "funcionar". Acontece apenas que limita isso sem razão. Se começar a usar automação por exemplo logo vai ver que o número de endereços é muito pequeno. E se usar um Lease Time grande no DHCP pode ficar sem endereços a toa, como acontece em quase todo comércio que oferece wifi grátis para clientes... Um roteador pode desabilitar se você o configrar como AP porque... porque você mesmo o configurou como AP. Se você quer um roteador e comprou um então está tudo certo. Não há o que pesquisar. Se precisa apenas de um AP compre um, foi o que eu disse. Se usar como roteador não faz diferença. O fato do wifi estar ativo quer diver que ele é um Access Point. Mas é um roteador. Se não ligar nada na WAN ainda será um roteador, um switch, um servidor DHCP, um firewall e tal. Em geral em redes domésticas quase nada é configurado. E na maioria dos casos não deveria mesmo ser.
  20. Isso não faz a menor diferença nesse contexto. Você usa isso quando subdivide a sua rede para por exemplo controlar broadcasts ou por segurança. E aí usa por exemplo tipo 8 subnets .224 para dividir sua rede em subnets de 0 a 7... Isso não torna a rede pequena. Apenas limita o número de hosts Como eu disse, precisa ver em particular o que seu roteador faz ou deixa de fazer nesse modo. Mas se precisa de um AP poderia ter comprado um. Se tem um roteador provavelmente estaria melhor servido usando o roteador como.... roteador. E não como ponto de acesso.
  21. Não há nada de especial nesse caso, mas é curioso no mínimo: qual a razão de usar tal máscara /27? .224 limita a rede a 32 endereços. são redes distintas para sala e quartos. Isso quer dizer que coisas simples como transferir mídia --- como um filme --- de um celular ligado no wifi numa rede para a outra pode ser complicado ou impossível vai ter uma perda grande de banda na segund rede por causa do múltiplo NAT. Pode chegar a uns 40% claro que vai precisar de DHCP na segunda rede. comparilhamento de impressoras ou arquivos é um inferno automação outro pesadelo com as limitações de que falei, mas funciona. bridge é isso: ponte. Só vai perder. Perder portas ethernet, antenas, cobertura wifi, banda wifi. Rede IP é uma coisa, rede ethernet é outra. Wifi é outra. wifi também é ethernet mas é um subconjunto da rede ethernet No geral você quer uma única rede IP, com um único gateway padrão, o modem da operadora. E pode ter tantas redes wifi quanto precise. Isso não mexe no wifi da claro de modo algum. Não deve usar roteadores ligados via WAN no roteador principal. Algumas das razões eu já expliquei acima. É comum fazer isso, a ponto de ser visto como normal, mas não é adequado. Não precisa desligar DHCP no segundo e é melhor mesmo não fazer isso, no mínimo por redundância e menor latência no DHCP. Deve excluir esse endereço .2 da faixa de DHCP de todo modo. Não é preciso configurar como AP. E dependendo do roteador em uso não deve mesmo, porque alguns desabilitam as portas ethernet quando assim configurados, e esperam uma simples conexão pela WAN com o sinal para o wifi.
  22. Não, não está. bridge é uma ponte de rede. Se não fez isso reserve endereços de seu servidor DHCP e use esses como endereços fixos nas VM. Assim não dependerá do DHCP na rede interna para usar sua VM. Não precisava mascarar endereços fixos dentro de sua rede privada, usando os números de uma rede privada classe C. Não há brecha de segurança aí. Esses endereços não são roteáveis.
  23. @Fbpaiva aquilo que eu expliquei é a forma prática. . não entendeu o "exemplo" nem o "resumo" nem os roteiros? Nenhuma das explicações considerou "prática"?
  24. Podem estar ou não na mesma rede. Se não estiverem vai ter uma boa perda de performance e uma longa série de problemas, mas para alguns é preferível, mas em geral pouco esperto. Entenda que o que importa mesmo é a mesma rede IP não a mesma rede wifi. A noção de próximo não existe quando já tem uma conexão a menos que o sinal caia muito de intensidade. Não faria sentido gastar banda dos rádios e bateria dos dispositivos para ficar continuamente monitorando as tipo 60 redes a que seu aparelho tem acesso em um prédio hoje em dia. Isso acontece com mesh porque o alcance é menor muita matemática e algoritmos a potência é menor o custo é bem alto ou o aparelho é fraquinho Sobre os tópicos tenho esses em uma lista Alguns números Outro caso detalhes aqui exemplo resumo Nunca conecte roteadores secundários via porta WAN. Isso cria outras redes IP e segmenta o tráfego. A primeira rede não vê as outras. As outras veêm a primeira apenas porque nela é que está o gateway padrão dos roteadores. Fora isso quase nada funciona mais direito. Incorre em múltiplo NAT e pode perder metade da banda nas redes que não a primeira só por causa disso. Nada vai funcionar direito com dispositivos que não estejam na mesma rede IP. Isso inclui espelhamento de tela de celulares, compartilhamento de arquivos, impressoras wifi, lâmpadas e acessórios smart e outras coisas. Encaminhamento de portas tem que ser repetido em TODAS as redes secundárias. Broadcast de rede não passa pelos roteadores e assim coisas como Wake-on-LAN não vão funcionar. Desconexão temporárias por alguns segundos acontecem quase sempre devido aos intervalos de lease de DHCP. Acesso remoto é um pesadelo.
  25. Se "conectada" quer dizer automação isso não requer quase nada de banda. Vou repetir: use os cabos para passar outros. É só puxar. Deve deixar os cabos dos POD por conta deles. Entenda que tem dispositivos dos dois lados do cabo. Se usar um switch no quarto vai pegar o sinal que iria para o aparelho da Claro. Não é a melhor opção: use um (outro) switch do outro lado (se precisar). E não misture as coisas. Uma rede mesh, uma rede ethernet. Ok, ok, mesh também é ethernet, mas acho que entendeu.

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!