Ir ao conteúdo
  • Cadastre-se

Como aprendi a programar em sockets


alex.dantas

Posts recomendados

Escrevi esse texto porque muitas pessoas me perguntam como aprender esse assunto. Como sockets é um tópico extenso, e necessaria toda uma introduçao e materiais de referencia.

Aqui vou dar uma explicaçao simples, recomendar muitos materiais de leitura e propor exercicios para aplicar os conhecimentos. Tambem deixo codigos-fonte para exemplificar o conteudo. Qualquer duvida estarei pronto para ajudar.

Como o texto e longo, aqui vou deixar a introduçao e passar o link pro artigo completo no final do post.

Sockets são ótimas ferramentas para qualquer programador, independentemente da linguagem. Eles basicamente permitem que programas em diferentes computadores troquem informações. Aqui vou mostrar o caminho que percorri para aprender a programar usando sockets.

Minha abordagem será em C e a API que vou mostrar é baseada em UNIX. Para quem programa com outras linguagens ou usa Windows, existem vários tutoriais ótimos na internet. Ótimas referências são Python, Java e a API winsock.

Aprender sockets não é tão trivial. São necessários conceitos de redes protocolos, processos, input não-bloqueante, file descriptors, UNIX... Portanto, recomendo tentar aprender com objetivos sólidos em mente. Por exemplo, criar um programa de chat, servidor web ou um jogo online.

Além da teoria, vou definir dois "deveres de casa". São dois programas que você deve tentar fazer para provar que aprendeu a usar sockets. No final, vocẽ deve ter um conhecimento sólido e prático de como usar sockets nos seus programas.

Introdução

Aqui vou passar superficialmente sobre alguns conceitos básicos. A explicação é simples e rápida porque os detalhes estarão nos materiais de referência.

Uma analogia que é repetida desde sempre é a ideia do telefone. Sockets são como telefones: apenas pontos de comunicação. Eles ligam dois computadores e permitem que se troque dados. 'Abrir' um socket significa ligar para alguem. Para isso você precisa do número de telefone (no caso dos computadores, do endereço IP - Internet Protocol).

Quando falamos no telefone, nos comunicamos através de uma língua que ambos entendem. Para os computadores enviarem e receberem dados, é definido um protocolo. Assim eles sabem de onde veio a informação, qual o tamanho da informação, data de envio e assim vai. O protocolo mais usado na internet é o HTTP (Hypertext Transfer Protocol).

Quando você fala no telefone, não precisa se preocupar sobre como sua voz é convertida para sinais eletrônicos ou como ela vai chegar até o telefone da pessoa que você está ligando. Isso tudo é feito pelas empresas telefônicas. Do mesmo jeito, a API de sockets cuida de todos esses problemas de baixo nível por você. Tudo o que você precisa fazer é usar uma sequência de funções e fornecer os dados para a comunicação acontecer.

Veja o texto completo aqui

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!