Sockets
Protocolo

●   É um meio pelo qual é estabelecida a comunicação entre
    dois pontos ou mais em um determinado contexto
●   É uma convenção que controla e possibilita uma conexão,
    comunicação, transferência de dados entre dois sistemas
    computacionais
●   Exemplos: TCP, UDP, HTTP, FTP, SSH, TELNET, SMTP,
    etc
Portas

●   Diversos computadores se conectam com um processo
●   Diversos processos se comunicam com um computador
●   Portas definem que tipo de serviço funcionará em
    determinada máquina
●   Portas são numeros inteiros entre 0 e 65535
Cliente/Servidor

●   Cada instância de um cliente pode enviar requisições de
    dado para algum dos servidores conectados e esperar pela
    resposta
●   Servidores podem aceitar tais requisições, processá-las e
    retornar o resultado para o cliente
●   Apesar do conceito ser aplicado em diversos usos e
    aplicações, a arquitetura é praticamente a mesma
Servidor

●   Para o uso de um serviço remoto (em outra máquina) é
    preciso que esse serviço seja disponibilizado por uma porta
●   A API java.net do java tem ferramentas que auxiliam o uso
    da comunicação via sockets
Cliente

●   Para consumir um serviço remoto (servidor) é necessario
    enviar uma requisição para uma porta em uma determinada
    máquina remota
●   Novamente o API java.net também tem suporte para o
    consumo de serviços remotos
Streaming

●   Mas como receber/enviar as requisições e receber as
    respostas?
●   Assim como vimos na aula de IO, os dados são
    transmitidos via streaming.
Serialização

●   Serialização de Objetos, permitem que os mesmo sejam
    representados por uma sequencia de bytes, que contém os
    dados de um objeto, seus tipos e valores
●   ObjectInputStream e ObjectOutputStream, são classes de
    straming de alto nivel que lidam com a serialização e
    deserialização de objetos
●   Para que um objeto possa ser serializado, ele deve
    implementar a interface java.io.Serializable
Duvidas?

11 sockets

  • 1.
  • 2.
    Protocolo ● É um meio pelo qual é estabelecida a comunicação entre dois pontos ou mais em um determinado contexto ● É uma convenção que controla e possibilita uma conexão, comunicação, transferência de dados entre dois sistemas computacionais ● Exemplos: TCP, UDP, HTTP, FTP, SSH, TELNET, SMTP, etc
  • 3.
    Portas ● Diversos computadores se conectam com um processo ● Diversos processos se comunicam com um computador ● Portas definem que tipo de serviço funcionará em determinada máquina ● Portas são numeros inteiros entre 0 e 65535
  • 4.
    Cliente/Servidor ● Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta ● Servidores podem aceitar tais requisições, processá-las e retornar o resultado para o cliente ● Apesar do conceito ser aplicado em diversos usos e aplicações, a arquitetura é praticamente a mesma
  • 5.
    Servidor ● Para o uso de um serviço remoto (em outra máquina) é preciso que esse serviço seja disponibilizado por uma porta ● A API java.net do java tem ferramentas que auxiliam o uso da comunicação via sockets
  • 6.
    Cliente ● Para consumir um serviço remoto (servidor) é necessario enviar uma requisição para uma porta em uma determinada máquina remota ● Novamente o API java.net também tem suporte para o consumo de serviços remotos
  • 7.
    Streaming ● Mas como receber/enviar as requisições e receber as respostas? ● Assim como vimos na aula de IO, os dados são transmitidos via streaming.
  • 8.
    Serialização ● Serialização de Objetos, permitem que os mesmo sejam representados por uma sequencia de bytes, que contém os dados de um objeto, seus tipos e valores ● ObjectInputStream e ObjectOutputStream, são classes de straming de alto nivel que lidam com a serialização e deserialização de objetos ● Para que um objeto possa ser serializado, ele deve implementar a interface java.io.Serializable
  • 9.