Artigo do tipo Tutorial
Ping no Android
O comando Ping permite medir quantos milissegundos um pacote de informações leva para ir até um destino e voltar. De forma simples, quanto menor o valor que ele retornar, mais rápida é sua conexão. O conhecimento sobre como manipular o ping pode ser essencial para aplicativos que fazem uso de rede para transmitir informações. Neste contexto, este artigo abordará de maneira prática de como utilizar o PING no Android. Para isso, inicialmente será apresentada a teoria da área de redes de computadores que é base para o entendimento do assunto e correto uso do Ping. Após isso, conheceremos aspectos avançados da comunicação em redes, na versão IPv4, utilizando a programação na linguagem Java como base. Por fim, será testada a comunicação fim a fim de host Cliente/Servidor através do PING no Android.


Em que situação o tema é útil
A transmissão de dados via internet é feita através de pacotes. Você pode pensar como se fosse um texto onde cada palavra do texto fosse um pacote. Através do comando ping no Android você descobrirá quanto tempo gastará para acessar cada site, inclusive, testar a aquele jogo online que você perdeu por não saber a velocidade da transmissão dos pacotes – comandos, no seu jogo.

As redes surgiram das necessidades de interligação de computadores. Essa ideia pretende garantir duas características básicas: a troca de informações e o compartilhamento de recursos.

Quando permitimos a troca de informações, estamos oferecendo meios para transmitir informações de um ponto a outro, independente da distância ou forma de conexão entre esses pontos. Com essas transmissões, conseguimos dinamizar negócios, interagir com pessoas, entreter, informar e outras inúmeras possibilidades. Já o compartilhamento de recursos nos garante economia. Com redes de computadores, podemos compartilhar impressoras, scanners, câmeras digitais e computadores.

Antes de tudo, é bom deixar algo claro: embora atualmente o ping seja considerado a sigla para “Packet InterNet Grouper”, Michael Muuss, o criador do sistema, deixou claro em seu site que seu objetivo ao dar esse nome era, na verdade, fazer uma analogia ao som de um sonar.

O motivo dessa analogia veio do fato do ping agir de forma semelhante a um sonar, porém, com foco no mundo virtual. Com este comando (Ping), seu computador é capaz de medir quantos milissegundos (ms) um pacote de informações leva para ir até um destino e voltar. De forma simples, quanto menor o valor que ele retornar, mais rápida é sua conexão.

E a dificuldade que a maioria das pessoas enfrenta para compreender os recursos de rede em Java é a causada pela falta de entendimento da parte de redes, não da parte de Java. Se você aprender inglês, não significa que pode traduzir um artigo de um jornal de medicina escrito em inglês. De maneira idêntica, você aprende Java, precisa ter conhecimentos sobre serviços de rede e sua terminologia antes que possa escrever código para isto. Neste sentido, começaremos este artigo com uma revisão sólida sobre redes, seguida de uma descrição do suporte de Java executando um “Ping” no Android.

Conceitos sobre redes

Uma rede, em essência, consiste no deslocamento de bits do ponto A para o ponto B. Normalmente, agrupamos bits de dados em um pacote com alguns outros bits que dizem aonde eles devem ir. Isso é o que conhecemos como o Internet Protocol (Protocolo Internet) ou IP. Caso se desejasse enviar mais bits do que cabem em um único pacote, podemos dividir os bits em grupos e enviá-los em vários pacotes sucessivos. Estes são chamados de datagramas do usuário.

Os datagramas de usuário podem ser enviados pela Internet pelo UDP – User Datagram Protocol (Protocolo de Datagramas de Usuário), que precisa do IP para ter o endereçamento e roteamento. UDP é como ir ao correio, colocar um selo e enviar o pacote. O IP é o que o carteiro faz para direcionar e entregar o pacote. Dois aplicativos comuns que usam o UDP são: SNMP – o Simple Network Management Protocol (Protocolo de Gerenciamento de Redes Simples) – e o TFTP – o Trivial File Transfer Protocol (Protocolo de Transferência de Arquivos Trivial). Observe a Figura 1.

IP e UDP(Soquetes de datagramas”><figcaption><strong>Figura 1</strong>. IP e UDP(Soquetes de datagramas)</figcaption></figure>

<p>Assim como
quando enviamos várias cartas para o mesmo endereço, os pacotes podem chegar em
qualquer ordem. Alguns deles podem até se atrasar ou mesmo se perder. Isso
também é verdadeiro para o UDP; você dá adeus aos bits quando eles deixam sua
estação de trabalho e não tem ideia de
quando eles chegarão em seu destino ou mesmo se eles chegarão.</p>

<p>A entrada
incerta é igualmente indesejável para o correio convencional e para as streams
de bits em redes. Podemos lidar com o problema no mundo do correio convencional
(quando a importância vale o custo) pagando uma taxa extra para registrar a
correspondência e fazer com que o carteiro colete e traga de volta a assinatura
atestando a entrega. Um protocolo similar é usado nas redes para garantir a
entrega confiável na ordem em que os pacotes foram enviados. O protocolo é
conhecido como “TCP” – Transmission Control Protocol (Protocolo de Controle de
Transmissão). Dois aplicativos que são executados sobre ele, ou utilizam, são
FTP – o File Transfer Protocol (Protocolo de Transferência de Arquivos) – e o
Telnet.</p>

<p>O TCP usa
o IP como o seu protocolo subjacente (assim como faz o UDP) para o roteamento e
a entrega de bits nos endereços corretos. Entretanto, o TCP é mais como uma
ligação telefônica do que uma correspondência registrada, já que a conexão
ponto a ponto é mantida aberta para toda a duração da sessão da transmissão.
Leva algum tempo extra para definir esta conexão de streams e custa mais
assegurar a entrega sequenciada confiável, mas frequentemente o custo é
justificado.</p> ... 
                    <section id=
Quer ler esse conteúdo completo? Tenha acesso completo