O que é Socket?
0 Socket é um mecanismo

de comunicação, usado
normalmente
para
executar
um
modelo
cliente/servidor, que permite a troca de mensagens
entre os processos de uma máquina/aplicação
servidor e de uma máquina/aplicação cliente.
Como surgiram?
0 Os

sockets surgiram originalmente no sistema
operativo Unix BSD
(Berkeley Software
Distribution)

0 O BSD

(Berkeley Software Distribution) é
um Sistema Operativo do UNIX desenvolvido
pela Universidade de Berkeley, na Califórnia, durante
os anos 70 e 80.
Quais os tipos de sockets?
0 TCP
Significa "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 UDP

UDP é 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.
TCP vs UDP
Qual a sua utilidade?
0 Socket é usado para um processo para comunicar-se

com um outro que esteja numa máquina qualquer.
0 Um socket pode ser gerado como um portão de
entrada e de saída de cada processo, podendo enviar
e/ou receber mensagens através de seus sockets.
0 Devido ao fato que, usualmente, os protocolos de

transporte da rede são implementados e controlados
pelo sistema operacional, um socket também pode ser
concebido como uma interface entre a aplicação e o
substrato de comunicação do sistema operacional.
Chamadas usadas no Socket
0 Socket ( )  cria um socket usado para comunicação

e retorna um descritor
0 Write ( )  para enviar dados através de uma

conexão TCP
0 Read ( )  para receber dados através de uma

conexão TCP
0 Close ( )  para deslocar o socket
Funções usadas no Socket
0 Bind ( )  usado para servidores para especificar
uma porta na qual ele irá esperar conexões

0 Listen ( )  servidores chama, o listen para colocar
o socket do modo passivo e torná-lo disponivel para
aceitar conexões
0 Connect ( )  depois de criar um socket, um cliente
chama connect para estabelecer uma conexão com um
servidor, usando o descritor do socket

O indicador que identifica uma
tomada conectada.
Um apontador para a memória intermédia
para receber os dados de entrada.
O comprimento, em bytes, do buffer
apontado pelo buf parâmetro.

Um conjunto de sinalizadores que influenciam o comportamento desta
função.
0 Accept ( )  depois de um sevidor chamar o socket para
criar um socket, bind para especificar o seu endereço e
listen para colocá-lo no modo passivo, ele deve chamar o
accept para pegar a primeira solicitação de conexão na fila.

Um ponteiro opcional para um
buffer, que recebe o endereço da
entidade de ligação, tal como é
conhecida para a camada de
comunicações

Um ponteiro opcional para um inteiro que contém o comprimento
da estrutura apontada pelo addr parâmetro.
Exemplo de uso de socket
Socket e conexão via TCP/IP
0 Servidor fica à espera de ligações
0 Cliente

conexão

liga-se ao servidor, sendo estabelecida

0 Conexão é um canal fiável para comunicação

bidireccional (funciona em duas direções em comum
e opostas)

0 Um socket representa um extremo de uma conexão
0 Uma conexão é caracterizada por um socket -pair
Cliente
Servidor
Web grafia
0 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%200
0
0
0
0
0
0

%20Programacao%20C++%20TCP-IP%20-%20Marcelo%20Hiroshi%20SugitaTexto.pdf
http://www.tecmundo.com.br/o-que-e/780-o-que-e-tcp-ip-.htm
http://pplware.sapo.pt/networking/protocolo-tcp-vs-protocolo-udp/
http://searchsoa.techtarget.com/definition/UDP
http://www.dca.ufrn.br/~guga/downloads/par/aulas/Aula8-Sockets.pdf
http://inst.eecs.berkeley.edu/~ee122/sp04/socket.pdf
http://www.dotnetjohn.com/articles.aspx?articleid=291
http://denmartins.wordpress.com/2009/11/11/socket-em-c/

Socket

  • 2.
    O que éSocket? 0 Socket é um mecanismo de comunicação, usado normalmente para executar um modelo cliente/servidor, que permite a troca de mensagens entre os processos de uma máquina/aplicação servidor e de uma máquina/aplicação cliente.
  • 3.
    Como surgiram? 0 Os socketssurgiram originalmente no sistema operativo Unix BSD (Berkeley Software Distribution) 0 O BSD (Berkeley Software Distribution) é um Sistema Operativo do UNIX desenvolvido pela Universidade de Berkeley, na Califórnia, durante os anos 70 e 80.
  • 4.
    Quais os tiposde sockets? 0 TCP Significa "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 UDP UDP é 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.
  • 5.
  • 7.
    Qual a suautilidade? 0 Socket é usado para um processo para comunicar-se com um outro que esteja numa máquina qualquer. 0 Um socket pode ser gerado como um portão de entrada e de saída de cada processo, podendo enviar e/ou receber mensagens através de seus sockets.
  • 8.
    0 Devido aofato que, usualmente, os protocolos de transporte da rede são implementados e controlados pelo sistema operacional, um socket também pode ser concebido como uma interface entre a aplicação e o substrato de comunicação do sistema operacional.
  • 9.
    Chamadas usadas noSocket 0 Socket ( )  cria um socket usado para comunicação e retorna um descritor 0 Write ( )  para enviar dados através de uma conexão TCP 0 Read ( )  para receber dados através de uma conexão TCP 0 Close ( )  para deslocar o socket
  • 10.
    Funções usadas noSocket 0 Bind ( )  usado para servidores para especificar uma porta na qual ele irá esperar conexões 0 Listen ( )  servidores chama, o listen para colocar o socket do modo passivo e torná-lo disponivel para aceitar conexões
  • 11.
    0 Connect ()  depois de criar um socket, um cliente chama connect para estabelecer uma conexão com um servidor, usando o descritor do socket O indicador que identifica uma tomada conectada. Um apontador para a memória intermédia para receber os dados de entrada. O comprimento, em bytes, do buffer apontado pelo buf parâmetro. Um conjunto de sinalizadores que influenciam o comportamento desta função.
  • 12.
    0 Accept ()  depois de um sevidor chamar o socket para criar um socket, bind para especificar o seu endereço e listen para colocá-lo no modo passivo, ele deve chamar o accept para pegar a primeira solicitação de conexão na fila. Um ponteiro opcional para um buffer, que recebe o endereço da entidade de ligação, tal como é conhecida para a camada de comunicações Um ponteiro opcional para um inteiro que contém o comprimento da estrutura apontada pelo addr parâmetro.
  • 13.
    Exemplo de usode socket
  • 14.
    Socket e conexãovia TCP/IP 0 Servidor fica à espera de ligações 0 Cliente conexão liga-se ao servidor, sendo estabelecida 0 Conexão é um canal fiável para comunicação bidireccional (funciona em duas direções em comum e opostas) 0 Um socket representa um extremo de uma conexão 0 Uma conexão é caracterizada por um socket -pair
  • 16.
  • 17.
  • 18.
    Web grafia 0 http://sockets-ds.blogspot.pt/ 0http://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%200 0 0 0 0 0 0 %20Programacao%20C++%20TCP-IP%20-%20Marcelo%20Hiroshi%20SugitaTexto.pdf http://www.tecmundo.com.br/o-que-e/780-o-que-e-tcp-ip-.htm http://pplware.sapo.pt/networking/protocolo-tcp-vs-protocolo-udp/ http://searchsoa.techtarget.com/definition/UDP http://www.dca.ufrn.br/~guga/downloads/par/aulas/Aula8-Sockets.pdf http://inst.eecs.berkeley.edu/~ee122/sp04/socket.pdf http://www.dotnetjohn.com/articles.aspx?articleid=291 http://denmartins.wordpress.com/2009/11/11/socket-em-c/