Socket

18

Transcript of Socket

Page 1: Socket
Page 2: Socket

O que é Socket?

0 Socket é um mecanismo de comunicação, usadonormalmente para executar um modelocliente/servidor, que permite a troca de mensagensentre os processos de uma máquina/aplicaçãoservidor e de uma máquina/aplicação cliente.

Page 3: Socket

Como surgiram?

0Os sockets surgiram originalmente no sistemaoperativo Unix BSD (Berkeley SoftwareDistribution)

0O BSD (Berkeley Software Distribution) éum Sistema Operativo do UNIX desenvolvidopela Universidade de Berkeley, na Califórnia, duranteos anos 70 e 80.

Page 4: Socket

Quais os tipos de sockets?

0 TCPSignifica "Protocolo de controle de transmissão" sendo um dos principais protocolos de envio e recebimento de dados MS internet

O TCP é o protocolo mais usado isto porque fornece garantia na entrega de todos os pacotes entre um PC emissor e um PC receptor.

0 UDPUDP é um protocolo de comunicação que oferece uma quantidade limitada de serviço quando as mensagens são trocadas entre computadores em uma rede que usa IP

UDP é um protocolo mais simples e por si só não fornece garantia na entrega dos pacotes.

Page 5: Socket

TCP vs UDP

Page 6: Socket
Page 7: Socket

Qual a sua utilidade?0 Socket é usado para um processo para comunicar-se

com um outro que esteja numa máquina qualquer.

0Um socket pode ser gerado como um portão deentrada e de saída de cada processo, podendo enviare/ou receber mensagens através de seus sockets.

Page 8: Socket

0Devido ao fato que, usualmente, os protocolos detransporte da rede são implementados e controladospelo sistema operacional, um socket também pode serconcebido como uma interface entre a aplicação e osubstrato de comunicação do sistema operacional.

Page 9: Socket

Chamadas usadas no Socket

0 Socket ( ) cria um socket usado para comunicaçãoe retorna um descritor

0Write ( ) para enviar dados através de umaconexão TCP

0Read ( ) para receber dados através de umaconexão TCP

0Close ( ) para deslocar o socket

Page 10: Socket

Funções usadas no Socket

0Bind ( ) usado para servidores para especificaruma porta na qual ele irá esperar conexões

0Listen ( ) servidores chama, o listen para colocaro socket do modo passivo e torná-lo disponivel paraaceitar conexões

Page 11: Socket

0Connect ( ) depois de criar um socket, um clientechama connect para estabelecer uma conexão com umservidor, usando o descritor do socket

O indicador que identifica uma tomada conectada.

Um apontador para a memória intermédiapara receber os dados de entrada.

O comprimento, em bytes, do bufferapontado pelo buf parâmetro.

Um conjunto de sinalizadores que influenciam o comportamento destafunção.

Page 12: Socket

0Accept ( ) depois de um sevidor chamar o socket paracriar um socket, bind para especificar o seu endereço elisten para colocá-lo no modo passivo, ele deve chamar oaccept para pegar a primeira solicitação de conexão na fila.

Um ponteiro opcional para um inteiro que contém o comprimentoda estrutura apontada pelo addr parâmetro.

Um ponteiro opcional para umbuffer, que recebe o endereço daentidade de ligação, tal como éconhecida para a camada decomunicações

Page 13: Socket

Exemplo de uso de socket

Page 14: Socket

Socket e conexão via TCP/IP

0 Servidor fica à espera de ligações

0 Cliente liga-se ao servidor, sendo estabelecidaconexão

0 Conexão é um canal fiável para comunicaçãobidireccional (funciona em duas direções em comume opostas)

0Um socket representa um extremo de uma conexão

0Uma conexão é caracterizada por um socket -pair

Page 15: Socket
Page 16: Socket

Cliente

Page 17: Socket

Servidor

Page 18: Socket

Web grafia0 http://sockets-ds.blogspot.pt/

0 http://pplware.sapo.pt/networking/redes-sabe-o-que-sao-sockets-de-comunicacao-parte-i/

0 http://www.coders.me/lang/en/general/introduccion-a-los-sockets-bsd-en-php

0 http://homepages.dcc.ufmg.br/~mmvieira/redes/sockets.pdf

0 http://www.dimap.ufrn.br/~thais/Pdist/socket.pdf

0 http://www.midiacom.uff.br/~debora/redes1/pdf/programacao.pdf

0 http://www.cs.rutgers.edu/~pxk/rutgers/notes/sockets/

0 http://gsd.di.uminho.pt/teaching/misd/2007/od/sockets.pdf

0 http://msdn.microsoft.com/en-us/library/windows/desktop/ms740121(v=vs.85).aspx

0 http://msdn.microsoft.com/en-us/library/windows/desktop/ms737526(v=vs.85).aspx

0 http://www.pessoal.utfpr.edu.br/jeansimao/Fundamentos2/APITCPIP/Tutorial%20-%20Programacao%20C++%20TCP-IP%20-%20Marcelo%20Hiroshi%20SugitaTexto.pdf

0 http://www.tecmundo.com.br/o-que-e/780-o-que-e-tcp-ip-.htm

0 http://pplware.sapo.pt/networking/protocolo-tcp-vs-protocolo-udp/

0 http://searchsoa.techtarget.com/definition/UDP

0 http://www.dca.ufrn.br/~guga/downloads/par/aulas/Aula8-Sockets.pdf

0 http://inst.eecs.berkeley.edu/~ee122/sp04/socket.pdf

0 http://www.dotnetjohn.com/articles.aspx?articleid=291

0 http://denmartins.wordpress.com/2009/11/11/socket-em-c/