Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Exemplo de Programação com Sockets em Java: Servidor e Cliente em Camada de Transporte, Slides de Informática

Um exemplo prático de programação com sockets em java para criar um servidor e um cliente na camada de transporte. Ele aborda as primitivas de sockets, a criação de conexões e o controle de fluxo. Além disso, é discutido o protocolo de transporte e a multiplexação.

Tipologia: Slides

2011

Compartilhado em 18/02/2011

ygor-dos-santos-luz-3
ygor-dos-santos-luz-3 🇧🇷

4.7

(3)

55 documentos

1 / 26

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Bruno Silvério Costa
Camada de Transporte
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Pré-visualização parcial do texto

Baixe Exemplo de Programação com Sockets em Java: Servidor e Cliente em Camada de Transporte e outras Slides em PDF para Informática, somente na Docsity!

Bruno Silvério Costa

Camada de Transporte

Serviços Oferecidos à camada superior

Camadas de rede, transporte e aplicação.

Primitivas do Serviço de Transporte (2)

Aninhamento de TPDUs, pacotes e frames.

Primitivas do Serviço de Transporte (3)

Diagrama de estados para um esquema simples de gerenciamento

de conexão.

Exemplo de Programação utilizando Sockets Código cliente usando sockets Java.(1)

/* cliente.java - exemplo de socket */
/* inclusao de bibliotecas */
import java.io.*;
import java.net.*;
public class cliente {
public static void main(String[] args) throws IOException {
Socket ClientSocket = null; //Cria ponteiro para socket
PrintWriter out = null; //Cria buffer de sáida
BufferedReader in = null; //Cria buffer de entrada
try {
/* cria o socket do cliente para conexao com o
servidor
que esta na maquina work1 operando na
porta 4444 */
ClientSocket = new Socket("127.0.0.1", 4444); //Criação
de socket

Exemplo de Programação utilizando Sockets Código cliente usando sockets Java.(2) /* associa um buffer de entrada e outro de saida ao socket / out = new PrintWriter(ClientSocket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(ClientSocket.getInputStream())); } catch (UnknownHostException e) { System.err.println("Host desconhecido: 127.0.0.1."); System.exit(1); } catch (IOException e) { System.err.println("Conexao com 127.0.0.1 falhou. "); System.exit(1); } / associa uma string aa entrada padrao do teclado/ BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); / cria duas strings, uma para receber e outra para enviar pelo socket */ String fromServer; String fromUser;

Exemplo de Programação utilizando Sockets Código servidor usando sockets Java.(1) /* servidor.java - exemplo de socket / / inclusao de bibliotecas / import java.net.; import java.io.; public class servidor { public static void main(String[] args) throws IOException { ServerSocket ServidorSocket = null; try { / cria socket na porta 4444 */ ServidorSocket = new ServerSocket(4444); } catch (IOException e) { System.err.println("Não é possível escutar na porta: 4444."); System.exit(1); }

Exemplo de Programação utilizando Sockets Código servidor usando sockets Java.(2)

Socket ClientSocket = null;
try {
/* aguarda solicitacao do cliente e aceita conexao */
ClientSocket = ServidorSocket.accept();
} catch (IOException e) {
System.err.println("Falha na conecção!.");
System.exit(1);
/* cria dois buffers, uma para enviar e outro para receber da conexao
com o cliente*/
PrintWriter out = new PrintWriter(ClientSocket.getOutputStream(),
true);
BufferedReader in = new BufferedReader(new
InputStreamReader(ClientSocket.getInputStream()));
String inputLine, outputLine;

Protocolo de Transporte

(a) Ambiente da camada de enlace.

(b) Ambiente da camada de transprote.

Endereçamento

TSAPs, NSAPs e conexões de transporte.

Encerramento de conexões

Disconexão abrupta com perda de dados.

Encerramento de conexões (2)

O problema dos três exércitos.

Encerramento de Conexões (4)

(c) Resposta perdida. (d) Resposta perdida e

subsequente DRs perdida.

6-14, c,d

Controle de Fluxo e uso de Buffers

(a) Buffers de tamanho fixo encadeados. (b) Buffers de tamanho

variável encadeado.

(c) Um grande buffer circular por conexão.