1 / 10

Redes de Computadores I

Redes de Computadores I. Prof. Mateus Raeder. Universidade do Vale do Rio dos Sinos - São Leopoldo -. Programação com 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

badru
Download Presentation

Redes de Computadores I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Programação com sockets Uma interface (uma “porta”), local aohospedeiro, criada por e pertencente à aplicação, e controlado pelo SO, através da qual um processo de aplicaçãopodetantoenviar comorecebermensagens de/para outro processo de aplicação (remotoou local) Redes de Computadores I – Prof. Mateus Raeder Meta: aprender construir aplicação cliente/servidor que se comunica usando sockets.

  3. Programação com sockets usando TCP TCP with buffers, variables socket socket controlled by application developer controlled by application developer process process controlled by operating system TCP with buffers, variables controlled by operating system internet host or server host or server Redes de Computadores I – Prof. Mateus Raeder 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 umprocesso para outro

  4. 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 Redes de Computadores I – Prof. Mateus Raeder

  5. 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: sequencia de bytes para dentro do processo Output stream: sequencia de bytes para fora do processo Programação com sockets usando TCP ParaServidor doServidor doUsuario Socket do cliente Redes de Computadores I – Prof. Mateus Raeder

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

  7. Exemplo: cliente Java TCP (1) 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 Redes de Computadores I – Prof. Mateus Raeder 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());

  8. Exemplo: cliente Java TCP (2) Cria fluxo de entrada ligado ao socket Envia linha ao servidor Lê linha do servidor Redes de Computadores I – Prof. Mateus Raeder 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(); } }

  9. Exemplo: servidor Java TCP (1) 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 Redes de Computadores I – Prof. Mateus Raeder 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()));

  10. Exemplo: servidor Java TCP (2) 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 Redes de Computadores I – Prof. Mateus Raeder DataOutputStream paraCliente = new DataOutputStream(socketConexão.getOutputStream()); fraseCliente= doCliente.readLine(); fraseEmMaiusculas= fraseCliente.toUpperCase() + '\n'; paraClient.writeBytes(fraseEmMaiusculas); } } }

More Related