A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -

Apresentações semelhantes


Apresentação em tema: "Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -"— Transcrição da apresentação:

1 Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -

2 Redes de Computadores I – Prof. Mateus Raeder Programação com sockets Meta: aprender construir aplicação cliente/servidor que se comunica usando sockets. Uma interface (uma “porta”), local ao hospedeiro, criada por e pertencente à aplicação, e controlado pelo SO, através da qual um processo de aplicação pode tanto enviar como receber mensagens de/para outro processo de aplicação (remoto ou local)

3 Redes de Computadores I – Prof. Mateus Raeder Programação com sockets usando TCP Socket: uma porta entre o processo de aplicação e um protocolo de transporte fim-a-fim (UDP ou TCP) Serviço TCP: transferência confiável de bytes de um processo para outro process TCP with buffers, variables socket controlled by application developer controlled by operating system host or server process TCP with buffers, variables socket controlled by application developer controlled by operating system host or server internet

4 Redes de Computadores I – Prof. Mateus Raeder Cliente deve contactar o servidor: –processo servidor já deve estar executando antes de ser contactado –servidor deve ter criado socket (porta) que aceita o contato do cliente Cliente contata o servidor: –criando um socket TCP –especificando endereço IP e número da porta do processo servidor Quando o cliente cria o socket: cliente TCP estabelece conexão com o TCP do servidor Programação com sockets usando TCP TCP fornece a transferência confiável, entre o cliente e o servidor ponto de vista da aplicação

5 Redes de Computadores I – Prof. Mateus Raeder Exemplo de aplicação cliente- servidor: Cliente lê linha da entrada padrão (fluxo doUsuário), envia para servidor via socket (fluxo paraServidor). Servidor converte linha para letra maiúscula, e devolve para o cliente. Cliente lê linha modificada do socket (fluxo doServidor), imprime-a Input strem: sequência de bytes para dentro do processo Output stream: sequência de bytes para fora do processo Programação com sockets usando TCP Socket do cliente doUsuario ParaServidor doServidor

6 Redes de Computadores I – Prof. Mateus Raeder Interações cliente/servidor com socket: TCP

7 Redes de Computadores I – Prof. Mateus Raeder Exemplo: cliente Java TCP (1) import java.io.*; import java.net.*; class ClienteTCP { public static void main(String argv[]) throws Exception { String frase; String fraseModificada; BufferedReader doUsuario = new BufferedReader(new InputStreamReader(System.in)); Socket socketCliente = new Socket(”idHosp", 6789); DataOutputStream paraServidor = new DataOutputStream(socketCliente.getOutputStream()); Contém classe para streams de I/O Contém classes para suporte a rede Cria fluxo de entrada Cria socket de cliente, conexão ao servidor Cria fluxo de saída anexado ao socket

8 Redes de Computadores I – Prof. Mateus Raeder Exemplo: cliente Java TCP (2) BufferedReader doServidor = new BufferedReader(new InputStreamReader(socketCliente.getInputStream())); frase = doUsuario.readLine(); paraServidor.writeBytes(frase + '\n'); fraseModificada = doServidor.readLine(); System.out.println(”Do Servidor: " + fraseModificada); socketCliente.close(); } Cria fluxo de entrada ligado ao socket Envia linha ao servidor Lê linha do servidor

9 Redes de Computadores I – Prof. Mateus Raeder Exemplo: servidor Java TCP (1) import java.io.*; import java.net.*; class servidorTCP { public static void main(String argv[]) throws Exception { String fraseCliente; String fFraseMaiusculas; ServerSocket socketRecepcao = new ServerSocket(6789); while(true) { Socket socketConexao = socketRecepcao.accept(); BufferedReader doCliente = new BufferedReader(new InputStreamReader(socketConexao.getInputStream())); Cria socket para recepção na porta 6789 Aguarda, no socket para recepção, o contato do cliente Cria fluxo de entrada, ligado ao socket

10 Redes de Computadores I – Prof. Mateus Raeder Exemplo: servidor Java TCP (2) DataOutputStream paraCliente = new DataOutputStream(socketConexão.getO utputStream()); fraseCliente= doCliente.readLine(); fraseEmMaiusculas= fraseCliente.toUpperCase() + '\n'; paraClient.writeBytes(fraseEmMaiuscul as); } Cria fluxo de saída, ligado ao socket Lê linha do socket Escreve linha para o socket Final do laço while. Volta ao início e aguarda conexão de outro cliente


Carregar ppt "Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -"

Apresentações semelhantes


Anúncios Google