Ir para conteúdo
Fórum Script Brasil
  • 0

Como aprendi a programar em sockets


alex.dantas

Pergunta

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 idéia 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 alguém. 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

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...