Aula sockets
-
Upload
universidade-federal-do-pampa -
Category
Technology
-
view
16 -
download
1
Transcript of Aula sockets
Introdução a Socketse as ferramentas de
desenvolvimento
Gerson Nunes
Conexão do cliente Ferramentas básicas pra desenvolvimento
de sockets Testes básicos de cliente / servidor
Assuntos básicos
Como funciona um cliente?
Escuta as conexões em uma determinada porta◦ Intervalo de portas válidas (0 – 65535);◦ Servidor pode suportar múltiplas conexões
simultâneas (mais de 1 usuário em uma mesma porta, utilizando controle de recursos através de múltiplas threads);
◦ Controle de acesso (senhas, autenticações);
Como funciona um servidor?
Endereços de IP (verificar com o comando /sbin/ifconfig) Rotas definidas (/sbin/route –n) Verifica se a conexão está ativa (ping IP_DO_GATEWAY) Verifica se a internet está funcionando (ping
www.google.com.br) Testa resolução de domínios (nslookup www.furg.br) Verifica identidade do domínio (whois www.furg.br) Portas em uso (verificar com o comando netstat –an|grep
OUVINDO ou LISTENING) Portas em abertas em uso ou filtradas (nmap localhost) Listando regras de firewall (/sbin/iptables –L) (precisa root) Invocando um servidor (nc –l porta) Cliente padrão (telnet IP porta)
Ferramentas básicas
Criando um servidor◦ Abra um terminal e digite:
nc –l 1234 Isso abrirá um servidor na porta 1234
Testando o servidor◦ Abra outro terminal e digite:
telnet localhost 1234 Isso conectará no servidor na porta 1234 Digite qualquer mensagem
Testes básicos
Verifique seu IP Escolha uma porta livre Crie um servidor no seu computador Informe o IP e a porta do seu computador
para o seu colega ao lado Tente conectar no servidor do colega
utilizando o cliente padrão (telnet) Peça pra ele fazer o mesmo com o seu
servidor que está rodando. Tentem trocar mensagens
Teste prático
Socket é uma abstração de comunicação utilizado para vários tipos de dispositivos, através dele um aplicativo pode enviar e receber dados, faz-se uma analogia com a manipulação de um arquivo aberto.
Os sockets permitem que os aplicativos se conecte à rede afim de se comunicarem com outras aplicações em uma mesma rede.
Desta forma as Informações escritas por um aplicativo em uma máquina pode ser lido por outro aplicativo em uma máquina diferente.
O que são sockets?
O UDP não possui garantia de entrega, portanto geralmente ele é usado para aplicações de tempo real (VOIP, MOIP, streams de vídeo) as quais geralmente podem ter perdas e atrasos variados.
O TCP possui garantia de entrega (AKs/NAKs), dessa forma ele garante a integridade dos dados enviados e recebidos.
O TCP é o mais utilizado. Exemplos simples: (terminais remotos, qualquer transferência de arquivos, navegação web, chat e muitos outros).
UDP ou TCP?
Servidor em C
server.txt daytimeserver.txt
Cliente em C
daytimeclient.txt