Sockets em Ruby. Curso de Tecnologia em Redes de Computadores Programação para Redes
|
|
- Daniel Faro Tuschinski
- 8 Há anos
- Visualizações:
Transcrição
1 Sockets em Ruby Curso de Tecnologia em Redes de Computadores Programação para Redes
2 Sockets em Ruby A biblioteca padrão de Ruby oferece um conjunto de classes para a manipulação de sockets. require socket Para aplicações baseadas em TCP: Classes TCPServer e TCPSocket. Para aplicações baseadas em UDP: Classe UDPSocket. 2
3 Classe TCPSocket Representa um socket baseado em TCP. É utilizado pelo cliente e pelo servidor para a troca de mensagens. Construtor new(host, porta) Cria e retorna um novo TCPSocket capaz de enviar dados para um servidor TCP localizado em host (nome ou endereço IP). Utilizado pelo cliente para conectar-se a um servidor. Método close() Fecha o socket, não sendo mais possível a E/S de dados. A entrada e saída de dados pode ser realizados pelos métodos de saída normalmente utilizados com streams (puts, print, write, syswrite, gets e read) ou pelos métodos específicos a sockets (recv, recfrom e send). 3
4 Classe TCPServer Classe TCPServer: representa um socket servidor baseado em TCP. Construtor new(porta) Cria e retorna um novo socket TCPServer na porta especificada. Método accept() Coloca o socket em modo de espera. A execução fica bloqueada até que seja recebida uma requisição cliente. Retorna uma instância de TCPSocket que é utilizada para receber e enviar dados para o cliente. 4
5 Exemplo: servidor calculadora (1/2) require 'socket' def processar(linha) tokens = linha.split if tokens[0] == 'soma' return tokens[1].to_f + tokens[2].to_f elsif tokens[0] == 'raiz_quadrada' return Math.sqrt(tokens[1].to_f) else return 'Mensagem invalida' end end 5
6 Exemplo: servidor calculadora (2/2) serversocket = TCPServer.new(2000) puts 'Servidor calculadora iniciado' loop { } clientsocket = serversocket.accept while linha = clientsocket.gets end resposta = processar(linha) clientsocket.puts(resposta) clientsocket.close 6
7 Exemplo: cliente calculadora require 'socket' hostname = 'localhost' port = 2000 socket = TCPSocket.new(hostname, port) socket.puts('soma 5 3') puts socket.gets socket.puts('raiz_quadrada 100') puts socket.gets socket.puts('maluco 5 3') puts socket.gets socket.close 7
8 Exemplo: protocolo Na mesma conexão, o cliente pode solicitar várias operações de cálculo. Cada operação deve ser enviada como uma string finalizada com o caractere de nova linha (\n). O primeiro token da linha indica a operação (soma ou raiz quadrada). Os tokens seguintes indicam os argumentos da operação. A operação de soma necessita de dois argumentos. A operação de raiz quadrada necessita de um argumento. Mensagens desconhecidas são respondidas com Mensagem invalida. Após solicitar as operações, o cliente encerra a conexão. O servidor responde cada operação com o resultado do cálculo. Após ler todas as operações solicitadas (linhas), o servidor encerra a conexão. 8
9 Exemplo: protocolo Cliente Servidor Cliente Servidor soma <a> <b> <a+b> raiz_quadrada <a> <raiz de a> Cliente Servidor <não especificado> Mensagem invalida 9
10 Exercício 1) Escreva um programa servidor que lê uma frase e uma palavra enviados pelo cliente e responde com a quantidade de ocorrências da palavra presentes na frase. Teste a implementação com um cliente Telnet e com um programa cliente escrito por você. 2) Especifique o protocolo utilizado pelo jogo jokenpo disponibilizado na página disciplina (jokenpo.zip). 3) Implemente um jogo de par ou ímpar em modo clienteservidor. Um dos jogadores será um usuário humano que deve utilizar um programa cliente. O outro jogador deve ser o próprio programa servidor. Após a implementação, escreva a implementação do protocolo utilizado na aplicação. 10
11 Servidor multithread Servidores tipicamente devem ser capazes de gerenciar vários clientes de forma simultânea. Caso contrário, cada cliente deve aguardar a sua vez na fila para ser atendido. Para tal, devemos utilizar threads. Threads são linhas de execução paralelas que podem ocorrer em um mesmo programa. Threads também são chamadas de processos leves. 11
12 Exemplo servidor sem threads require 'socket' serversocket = TCPServer.new(2000) loop { clientsocket = serversocket.accept clientsocket.gets #simula uma operação demorada #como E/S em disco sleep(2); clientsocket.puts('ok') clientsocket.close } 12
13 Exemplo cliente require 'socket' hostname = 'localhost' port = 2000 threads = [] #armazena as threads que serão criadas inicio = Time.now for i in 1..5 do #cria thread que solicita uma nova conexão com o servidor #cada thread funciona como um programa cliente t = Thread.start(TCPSocket.new(hostname, port)) do socket socket.puts('msg') puts socket.gets socket.close end threads << t #adiciona a thread ao array end 13
14 Exemplo cliente (cont.) #avisa este programa para aguardar até que todas as threads #tenham terminado sua execução threads.each do t t.join end fim = Time.now #calcula e imprime o tempo de execução puts "#{fim - inicio} s" 14
15 Cliente fluxo de execução para 3 Programa Principal 3ª thread threads 2ª thread 1ª thread Cria 1ª thread Cria 2ª thread Cria 3ª thread socket.puts(msg) socket.puts(msg) socket.gets() socket.puts(msg) socket.gets() socket.gets() socket.close() socket.close() Aguarda as threads (join) socket.close() Fim 15
16 Exemplo servidor com threads require 'socket' serversocket = TCPServer.new(2000) puts 'Servidor multithread iniciado' loop { Thread.start(serverSocket.accept) do clientsocket msgcliente = clientsocket.gets #simula uma operação demorada como a gravação em disco sleep(2); #dorme 2 segundos clientsocket.puts('ok') clientsocket.close end } 16
17 Mutex Devemos estar atentos aos recursos compartilhados por múltiplas threads (variáveis, arquivos, objetos, etc). Quando o acesso simultâneo puder causar inconsistências, podemos utilizar um objeto Mutex para criar blocos de código sincronizados. Estes blocos serão acessados a cada vez por uma única thread. 17
18 Exemplo servidor sem mutex require 'socket' serversocket = TCPServer.new(2000) puts 'Servidor iniciado' saldo = loop { Thread.start(serverSocket.accept) do clientsocket saque = clientsocket.gets.to_f if saldo >= saque sleep(1) saldo = saldo - saque clientsocket.puts('ok') else clientsocket.puts('negado') end clientsocket.close puts " saldo: #{saldo}" end } 18
19 Exemplo múltiplos clientes require 'socket' realizando saque host = 'localhost' port = 2000 threads = [] for i in 1..2 do t = Thread.start(TCPSocket.new(host, port)) do socket socket.puts('90') puts socket.gets socket.close end threads.push(t) end threads.each do t t.join end 19
20 Exemplo servidor com mutex require 'socket' serversocket = TCPServer.new(2000) puts 'Servidor iniciado' saldo = mutex = Mutex.new loop { Thread.start(serverSocket.accept) do clientsocket saque = clientsocket.gets.to_f mutex.synchronize{ if saldo >= saque sleep(1) saldo = saldo - saque clientsocket.puts('ok') else clientsocket.puts('negado') end puts "saldo #{saldo}" } clientsocket.close end } 20
21 Exercício 4 Escreva um servidor para um sistema de votação entre três candidatos. O servidor deve ser capaz de processar as seguintes mensagens de entrada: candidatos? Deve retornar uma string com os nomes e números dos candidatos. Cada candidato deve ser separado pelo caractere #. Exemplo de resposta: 1 paulo#2 pedro#3 ana votar n Adiciona um voto para o candidato com número n. Deve retornar a string ok caso a operação seja bem sucedida ou zero em caso contrário. resultado senha Caso senha seja válida, deve retornar uma string com o total de votos de cada candidato. Cada candidato deve ser separado pelo caractere #. No caso de senha inválida, deve retornar zero. A senha é armazenada pelo servidor. Para quaisquer outras mensagens, o servidor deve retornar zero. Escreva um programa que cria 1000 clientes paralelos, onde cada cliente solicita a lista de candidatos e vota em um de forma aleatória. Escreva um programa cliente para obter o resultado da eleição. 21
22 Transmissão de dados binários Os métodos gets e puts são adequados apenas para dados do tipo string. Para dados binários, devemos utilizar os métodos read e syswrite. read(n): lê n bytes. Os bytes lidos são retornados como uma string codificada em ASCII-8BIT (string binária). Caso o tamanho da string seja menor que n, significa que foi atingido o fim do arquivo (EOF). Retorna nil caso a leitura seja direto no EOF. syswrite(bytes): escreve bytes, o qual que deve ser uma string binária. Retorna a quantidade de bytes escritos. 22
23 Exemplo: transmissão de arquivo - cliente require 'socket' sock = TCPSocket.new('localhost', 2000) begin nome_arquivo = gets.chomp arquivo = File.new(nome_arquivo, "r") tamanho = File::size(nome_arquivo) bytes_arquivo = arquivo.read(tamanho) sock.puts(nome_arquivo) sock.puts(tamanho.to_s) sock.syswrite(bytes_arquivo) ensure sock.close arquivo.close end 23
24 Exemplo: transmissão de arquivo - servidor require 'socket' serversocket = TCPServer.new(2000) clientsocket = serversocket.accept begin nome_arquivo = clientsocket.gets.chomp tamanho_arquivo = clientsocket.gets.chomp.to_i bytes_arquivo = clientsocket.read(tamanho_arquivo) arquivo = File.new("copia_#{nome_arquivo}", "wb") arquivo.syswrite(bytes_arquivo) ensure serversocket.close end 24
25 Exemplo: transmissão de arquivo - protocolo Cliente Servidor <nome do arquivo> <tamanho do arquivo> <bytes> 25
26 Exemplo protocolo binário Formato das mensagens do cliente: operação argumento 1 argumento 2 Campos (todos com 1 byte): operação: indica a operação desejada, soma (01) ou potência quadrada (02). argumento 1: primeiro termo da soma, ou base da potência. Tipo inteiro. argumento 2: segundo argumento da soma. Não utilizado na potência. Tipo inteiro. 26
27 Exemplo - protocolo binário O servidor sempre retorna dois bytes que formam um único campo ordenado em network byte order. Este campo armazena o resultado da operação solicitada ou FFFF caso a mensagem de solicitação do cliente não tenha sido reconhecida. 27
28 Exemplo protocolo binário servidor require 'socket' serversocket = TCPServer.new(2000) begin socket = serversocket.accept loop{ byte_um = socket.read(1).unpack('c')[0] if byte_um == 0x00 campos = socket.read(2).unpack('cc') soma = campos[0] + campos[1] out = [soma].pack('n') elsif byte_um == 0x01 byte_dois = socket.read(1).unpack('c')[0] quadrado = byte_dois * byte_dois out = [quadrado].pack('n') else out = [0xFFFF].pack('n') end socket.syswrite(out) } ensure serversocket.close end 28
29 Exemplo protocolo binário cliente require 'socket' sock = TCPSocket.new('localhost', 2000) begin #soma msg = [0x00, 203, 85].pack('CCC') sock.syswrite(msg) resposta = sock.read(2).unpack('n')[0] puts "<= #{resposta}" #potencia msg = [0x01, 7].pack('CC') sock.syswrite(msg) resposta = sock.read(2).unpack('n')[0] puts "<= #{resposta}" #nao reconhecida msg = [0x31].pack('C') sock.syswrite(msg) resposta = sock.read(2).unpack('n')[0].to_s(16) puts "<= #{resposta}" ensure sock.close end 29
30 Exercício Implementar uma aplicação cliente/servidor para download de arquivos usando o protocolo binário descrito a seguir. Formato das mensagens enviadas pelo cliente: ID (1 byte) argumento (20 bytes) ID: indica o tipo da mensagem. Obrigatório. 00 solicita a lista de arquivos disponíveis. 01 solicita um arquivo para download. O nome do arquivo desejado deve ser informado no campo argumento. argumento: informações complementares. Opcional. 30
31 Exercício 5 Formato das mensagens enviadas pelo servidor: ID (1 byte) tamanho (2 bytes) payload (variável) ID: indica o tipo da mensagem. Obrigatório. 00 informa a lista de arquivos disponíveis. O campo payload contém os nomes dos arquivos, cada um separado pelo caractere $. 01 retorna um arquivo solicitado para download. O campo payload contém os dados (bytes) do arquivo. FF indica que a mensagem de entrada não foi reconhecida pelo servidor. Sem payload. tamanho: indica o tamanho, em bytes, do campo payload. Devido a este campo, só é possível transmitir arquivos com até 64kbytes. Obrigatório. payload: dados solicitados conforme a mensagem de entrada. Opcional. 31
32 Exercício 5 Terminologia: Sessão: par de mensagens trocadas entre cliente e servidor. Mensagem de entrada: mensagem enviada pelo cliente. Mensagem de retorno: mensagem enviada pelo servidor em resposta a uma mensagem de entrada. Comportamento: Protocolo base: TCP. Uma conexão TCP deve suportar várias sessões do protocolo de aplicação. Uma sessão sempre é iniciada pelo cliente. O servidor sempre deve responder a uma mensagem de entrada. Dica: consulte os métodos Array.pack e String.unpack e o artigo disponível em 32
33 Classe UDPSocket Socket para transmissão de dados baseados no protocolo UDP. Um UDPSocket pode ser utilizado como cliente (emissor de dados) ou como servidor (receptor de dados), já que o protocolo UDP não é orientado à conexão. Construtor new() Método bind(host, port) Utilizado em um socket servidor, associa o socket a uma interface de rede e a uma porta. Para qualquer interface de rede utilize uma string vazia. Método gets() Utilizado com um socket servidor, lê o próximo pacote de dados. Método recvfrom(maxlen) => data, [sender_info] Utilizado com um socket servidor, lê até maxlen bytes de dados. Retorna os dados lidos e um array com informações do emissor: protocolo, porta, hostname e endereço IP. 33
34 Classe UDPSocket Método send(data, flags, host, port) Utilizado em um socket servidor ou cliente, envia um pacote de dados ao host especificado pelos parâmetros host e port. Método connect(host, port) Utilizado em um socket cliente. Os parâmetros indicam endereço e porta do destinatário dos dados. Método puts(data) Utilizado em um socket cliente, envia um pacote de dados ao host especificado na chamada ao método connect. 34
35 Exemplo Servidor echo require 'socket' socket = UDPSocket.new socket.bind("", 2000) loop{ data, sender = socket.recvfrom(1024) s_ip = sender[3] s_port = sender[1] puts "Dados recebidos do cliente #{s_ip}:#{s_port}: #{data} " socket.send(data.upcase, 0, s_ip, s_port) } socket.close 35
36 Exemplo Cliente echo require 'socket' socket = UDPSocket.new socket.connect('localhost', 2000) msg = gets socket.puts msg puts socket.gets socket.close 36
37 Exercício 6 Usando sockets UDP, implemente uma aplicação de calculadora semelhante a do exemplo com sockets TCP. 37
38 Referências /libdoc/socket/rdoc/index.html ket_programming.html Jones, M. Tim. Sockets programming in Ruby. IBM Developer Works,
Programação de Sockets em C/C++
Programação de Sockets em C/C++ Redes de Comunicação 2011/2012 1 Programação de Sockets em C/C++ 2 TCP 3 UDP Introdução Os sockets são um método de criar conexão entre processos, independente do protocolo.
Leia maisSockets. Introdução. Introdução. Programando para redes em Java. mecanismo de alto nível para acessar recursos na Internet.
Sockets Programando para redes em Java Introdução n O URLs e URLConnections fornecem um mecanismo de alto nível para acessar recursos na Internet. n Em aplicações de servidor de cliente, o servidor fornece
Leia maisComunicação entre processos
Comunicação entre processos Processo: um programa em execução num sistema terminal (host) Processos em sistemas distintos comunicam trocando mensagens Processo Cliente: processo que inicia a comunicação
Leia maisSockets. Bruno Guimarães Lucas Rossini
Sockets Bruno Guimarães Lucas Rossini Introdução Comunicação entre processos: Memória compartilhada Memória distribuída - Mensagens pela rede Um sistema distribuído é ausente de memória compartilhada,
Leia maisComunicação entre Processos
Comunicação entre Processos Comunicação memória compartilhada troca de mensagens base de comunicação em sistemas distribuídos Mensagens básicas send (destino, msg) receive (origem, mensagem) questões semântica
Leia maisComunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor
Comunicação em Sistemas Distribuídos Paradigma / Os processos em um SD estão lógica e fisicamente separados. Precisam se comunicar para que possam interagir O desempenho de um SD depende criticamente do
Leia maisComunicação Inter-Processos. Prof. Adriano Fiorese. Conceitos Iniciais
Comunicação Inter-Processos Conceitos Iniciais 1 Características para Comunicação Inter-Processos. Passagem de Mensagem pode ser suportada por duas operações de comunicação (send e receive). A comunicação
Leia maisTipos de Servidores. Servidores com estado
Tipos de Servidores Com Estado X Sem Estado Sequenciais X Concorrentes Com Conexão X Sem Conexão Servidores com estado Servidores com estado armazenam informação sobre cada cliente. Operações podem ser
Leia maisCamada de Transporte, protocolos TCP e UDP
Camada de Transporte, protocolos TCP e UDP Conhecer o conceito da camada de transporte e seus principais protocolos: TCP e UDP. O principal objetivo da camada de transporte é oferecer um serviço confiável,
Leia maisCapítulo II Modelos de Programação Distribuída
Capítulo II Modelos de Programação Distribuída From: Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edition 4, Addison-Wesley 2005 From: M. Ben-Ari Principles of Concurrent
Leia maisProgramação de sockets com TCP
Programação de sockets Objetivo: aprender a construir aplicações cliente-servidor que se comunicam usando sockets SOCKET = API (Application Program Interface) Introduzida no BSD4.1 UNIX, 1981 * Explicitamente
Leia maisEngenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO
Engenharia Elétrica Eletrônica Slides 20: TCP/IP em Winsocks 2. API do Windows para programar utilizando o protocolo TCP/IP Prof. Jean Marcelo SIMÃO Engenharia Elétrica Eletrônica Tutorial: Programação
Leia maisFTP FILE F TRANSFER PROTOCOL. Tópicos
FTP FILE F TRANSFER PROTOCOL Tópicos Revisão da aplicação FTP Implementação simples em Java de uma conexão FTP Implementação simples em Java de um comando de transferência de arquivo Descrição dos exercícios
Leia maisREDES DE COMPUTADORES
REDES DE COMPUTADORES Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com ENLACE X REDE A camada de enlace efetua de forma eficiente e com controle de erros o envio
Leia maisNo projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.
No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano. Essa estratégia foi deixada para trás. Atualmente, o software de rede é altamente
Leia maisJava 2 Standard Edition Fundamentos de
Java 2 Standard Edition Fundamentos de Helder da Rocha www.argonavis.com.br 1 Sobre este módulo Este módulo pretende apenas cobrir conceitos essenciais sobre programação em rede com Java Como criar um
Leia maisOlho por olho, e o mundo acabará cego. Mohandas Gandhi
Sockets Olho por olho, e o mundo acabará cego. Mohandas Gandhi Conectando-se a máquinas remotas. Protocolo Da necessidade de dois computadores se comunicarem surgiram diversos protocolos que permitissem
Leia maisUNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA
UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS COLEGIADO DE INFORMÁTICA Disciplina: Redes de Computadores Ano: 2007 Professor: Luiz Antonio Trabalho 1º Bimestre Cliente/Servidor
Leia maisUNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Comunicação Inter-Processos Sockets e Portas Introdução Sistemas distribuídos consistem da comunicação entre processos
Leia maisRelatório 1º Laboratório: O Java e os Sockets. Licenciatura: ETI Turma : ETC1 Grupo : rd3_t3_02 Data: 22/02/2010
Licenciaturas em Informática e Gestão de Empresas, Engenharia de Telecomunicações e Informática e Engenharia Informática Redes Digitais III Relatório 1º Laboratório: O Java e os Sockets Licenciatura: ETI
Leia maisMecanismos de Comunicação. Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/)
Mecanismos de Comunicação Sockets em java (http://java.sun.com/docs/books/tutorial/networking/sockets/) Sockets o que é? Um socket é um mecanismo de comunicação (dois sentidos) entre dois programas a funcionar
Leia maisCliente-servidor com Sockets TCP
Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2006/2007 c 2000 2006 Paulo Sérgio Almeida Cliente-servidor com Sockets
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisCliente-servidor com Sockets TCP
Cliente-servidor com Sockets TCP Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2007/2008 c 2000 2007 Paulo Sérgio Almeida Cliente-servidor com Sockets
Leia maisSIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)
SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010) OBJETIVO GERAL Este trabalho possui o objetivo de exercitar a lógica de programação dos alunos do Terceiro ano do Curso de BSI e também desenvolver
Leia maisPermite o acesso remoto a um computador;
Telnet Permite o acesso remoto a um computador; Modelo: Cliente/Servidor; O cliente faz um login em um servidor que esteja conectado à rede (ou à Internet); O usuário manipula o servidor como se ele estivesse
Leia maisProgramação de Sockets
Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets Socket API introduzida no BSD4.1 UNIX, 1981 explicitamente criados, usados e liberados
Leia maissocket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets
Programação de Sockets Mário Meireles Teixeira. UFMA-DEINF Programação de Sockets Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando s API de Sockets: introduzida no UNIX
Leia maisProgramação: Sockets em Java
Programação: Sockets em Java Redes de Computadores Glauco Antonio Ludwig Leonardo Lemes Fagundes Roteiro Programação usando Sockets Sockets com TCP Exemplo de aplicação Sockets com UDP Exercício Bibliografia
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com Mecanismos de Comunicação Voltando ao exemplo da calculadora... Rede local
Leia maisSegundo Trabalho de Programação em Ambientes Limitados
Segundo Trabalho de Programação em Ambientes Limitados (Programação para Macho / Chuck Norris Programming) CI097 - Prof. André Guedes Versão 0.3 Parte 1: Implementação de transferência de dados em taxa
Leia maisRedes de Computadores II
Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia maisRedes de Computadores e a Internet
Redes de Computadores e a Internet Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM 2010 Camada de Aplicação
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 5 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Estrutura básica Uma aplicação
Leia maisTópicos em Sistemas Distribuídos. Modelos de Comunicação
Tópicos em Sistemas Distribuídos Modelos de Comunicação Comunicação em SD Comunicação entre processos Sockets UDP/TCP Comunicação em grupo Broadcast Multicast Comunicação entre processos Conceitos básicos
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 18 Sockets OLadoServidor O Lado Cliente Múltiplos Clientes 1 Programa Capítulo 18 Sockets
Leia maisRedes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015
TE090 - Prof. Pedroso 17 de junho de 2015 1 Questões de múltipla escolha Exercício 1: Suponha que um roteador foi configurado para descobrir rotas utilizando o protocolo RIP (Routing Information Protocol),
Leia maisUsando o Conference Manager do Microsoft Outlook
Usando o Conference Manager do Microsoft Outlook Maio de 2012 Conteúdo Capítulo 1: Usando o Conference Manager do Microsoft Outlook... 5 Introdução ao Conference Manager do Microsoft Outlook... 5 Instalando
Leia maisRedes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza
Redes de Computadores Camada de Aplicação Prof. MSc. Hugo Souza É a camada que dispõe a programação para as aplicações de rede através dos protocolos de aplicação; Provém a implantação da arquitetura de
Leia maisJava NET: Interaja com a Internet. Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1
Java NET: Interaja com a Internet Ricardo Terra rterrabh [at] gmail.com Ricardo Terra (rterrabh [at] gmail.com) Java NET: Interaja com a Internet Maio, 2011 1 CV Nome: Ricardo Terra Email: rterrabh [at]
Leia maisProgramação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.
Programação em Rede Baseada em Java Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída www.dca.ufrn.br/~affonso/cursos Definiçõs Básicas Uma rede é um conjunto de computadores
Leia mais- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções
1 - Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções Um programa pode possuir determinados processos realizados repetidas vezes ao longo da execução do programa. Estes processos podem se agrupar
Leia maisDIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD
DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD Salvador Bahia Março/2010 MANUAL DE UTILIZAÇÃO DO WEBMAIL Este manual contém a descrição das
Leia maisConceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio
Conceito de Rede e seus Elementos Prof. Marciano dos Santos Dionizio Conceito de Rede e seus Elementos O conceito de rede segundo Tanenbaum é: um conjunto de módulos processadores capazes de trocar informações
Leia maisRedes de Computadores (RCOMP 2014/2015)
Redes de Computadores (RCOMP 2014/2015) Desenvolvimento de aplicações de rede UDP e TCP 1 Protocolo UDP ( User Datagram Protocol ) Tal como o nome indica, trata-se de um serviço de datagramas, ou seja
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisProgramação com sockets (em Java)
com sockets (em Java) Prof. Dr. Julio Arakaki Depto. Ciência da 1 Comunicação entre processos // aplicações - é um dos mecanismos mais utilizados - Java oferece modos de utilização:. TCP ( Transmission
Leia maisSockets em Java. Leonardo R. Nunes - leonardo@sumersoft.com. 1. Introdução. 2. Sockets TCP/IP
Sockets em Java Leonardo R. Nunes - leonardo@sumersoft.com 1. Introdução A comunicação entre processos de software tornou-se indispensável nos sistemas atuais. O mecanismo mais utilizado atualmente para
Leia maisTRABALHO DE REDES DE COMPUTADORES 1 GNUTELLA
CÉSAR HENRIQUE KALLAS DANIEL FIGUEIREDO MACHADO FÁBIO HENRIQUE GENEROSO RENATO DEMARCO TRABALHO DE REDES DE COMPUTADORES 1 GNUTELLA CAMPINAS/2005 PONTIFÍCIA UNIVERSIDADE CATÓLICA DE CAMPINAS GNUTELLA DISCIPLINA:
Leia maisTransporte. Sua função é: Promover uma transferência de dados confiável e econômica entre máquina de origem e máquina de destino.
Redes de Computadores Transporte Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Camada de transporte Sua função é: Promover uma transferência de dados confiável e econômica
Leia maisPortal de Aprendizado Tutorial do Aluno
Portal de Aprendizado Tutorial do Aluno Índice 1 Acessando o Portal... 2 1.1 Verificação do Browser... 2 1.2 Entre em contato... 3 1.3 Portal Autenticado... 5 2 Meus Cursos... 6 2.1 Matriculando-se em
Leia maisIntrodução à Camada de Aplicação. Prof. Eduardo
Introdução à Camada de Aplicação RC Prof. Eduardo Introdução Você sabe que existem vários tipos de programas na Internet? - Talvez você já tenha notado que existem vários programas diferentes para cada
Leia maisEndereços de transporte TPDU. Nível de Rede Endereço de rede. Figura 1. Entidade de transporte
24 A CAMADA DE TRANSPORTE O nível de transporte é o coração da pilha de protocolos Sua tarefa é prover transporte confiável e eficiente de dados de uma máquina origem para uma máquina destino, independente
Leia maisInstruções para uma impressora conectada localmente no Windows
Página 1 de 5 Guia de conexão Instruções para uma impressora conectada localmente no Windows Antes da instalação do software da impressora para Windows Uma impressora conectada localmente é uma impressora
Leia maisTraceroute É uma ferramenta de diagnóstico que rastreia a rota de um pacote através de uma rede de computadores e que utiliza os protocolos IP e ICMP.
Comando Traceroute Traceroute É uma ferramenta de diagnóstico que rastreia a rota de um pacote através de uma rede de computadores e que utiliza os protocolos IP e ICMP. Traceroute Traceroute Ele é usado
Leia maisManual do Desenvolvedor Criptografia de Arquivos do WebTA
Manual do Desenvolvedor Criptografia de Arquivos do WebTA Versão 1.4 Índice 1. Objetivo..3 2. Processo..3 3. API de Criptografia - Biblioteca Java..4 3.1 WEBTACryptoUtil..4 3.1.1 decodekeyfile..4 3.1.2
Leia maisDisciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013
Disciplina: Redes de Comunicação Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. João Oliveira Turma: 10º 13ª Setembro 2013 INTRODUÇÃO Este trabalho apresenta os principais
Leia maisSeu manual do usuário SONY ERICSSON W890I http://pt.yourpdfguides.com/dref/451969
Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para SONY ERICSSON W890I. Você vai encontrar as respostas a todas suas perguntas sobre a no manual
Leia maisFTP - Protocolo. O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores.
FTP FTP - Protocolo O protocolo FTP é o serviço padrão da Internet para a transferência de arquivos entre computadores. A partir do FTP usuários podem receber ou enviar arquivos de ou para outros computadores
Leia maisPor que Redes? Estamos cercados por redes: supermercados, lojas, bancos, cinemas, farmácias e inúmeros outros lugares; Com a queda do custo de implementação de redes, é praticamente impossível pensar em
Leia maisLab 4 Análise de Pacotes utilizando o TCPDUMP
Objetivo: Lab 4 Análise de Pacotes utilizando o TCPDUMP i) Utilizar aplicativo de análise de pacotes TCPDUMP. TCPDUMP: O tcpdump é um programa cuja utilidade principal é visualizar e analisar o tráfego
Leia maisCamada de Aplicação. Prof. Eduardo
Camada de Aplicação RC Prof. Eduardo Introdução Você sabe que existem vários tipos de programas na Internet? - Talvez você já tenha notado que existem vários programas diferentes para cada um desses tipos.
Leia maisImplementando comunicação em JAVA via Sockets. Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft.
Implementando comunicação em JAVA via Sockets Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft.com Sockets Utilizado para comunicação entre processos; Compreendendo Sockets
Leia maisRedes de Computadores
Redes de Computadores Prof. Marcelo Gonçalves Rubinstein Programa de Pós-Graduação em Engenharia Eletrônica Faculdade de Engenharia Universidade do Estado do Rio de Janeiro Ementa Introdução a Redes de
Leia maisSistemas de Operação Sockets
Sistemas de Operação Sockets O que é um socket? Uma interface de comunicação entre processos que podem ou não residir na mesma máquina, mas que não precisam estar relacionados. É usado normalmente para
Leia maisPermitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;
Software Básico 2008.2 Trabalho Prático 1: programação de E/S, uso de sinais Prática de programação voltada a eventos Trabalho individual ou em dupla Data de entrega: 01/10/2008 1 O Objetivo Utilizando
Leia maisPrograma de Computador que funciona em Rede
Programa de Computador que funciona em Rede professor Robinson Vida Noronha 1 Paradigma Um programa rodando em rede é como uma loja. 2 Uma loja é composta por Vendedores Vendedores 3 Um loja deve servir
Leia maisDALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS
DALUA: BIBLIOTECA PARA APLICAÇÕES DISTRIBUÍDAS Aluno: Ricardo Gomes Leal Costa Orientadora: Noemi de la Rocque Rodriguez Introdução A biblioteca DALua [1], fruto do projeto anterior, tem por objetivo oferecer
Leia maisAula 30 - Sockets em Java
Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar
Leia maisFiery Driver Configurator
2015 Electronics For Imaging, Inc. As informações nesta publicação estão cobertas pelos termos dos Avisos de caráter legal deste produto. 16 de novembro de 2015 Conteúdo 3 Conteúdo Fiery Driver Configurator...5
Leia maisSockets com Java Parte I
Sockets com Java Parte I Neste artigo veremos como desenvolver aplicações em Java que podem comunicar-se via rede local ou via internet, usando sockets. Leia mais em: Sockets com Java Parte I http://www.devmedia.com.br/sockets-com-java-parte-i/
Leia maisCAMADA DE TRANSPORTE
Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede CAMADA DE TRANSPORTE Professora: Juliana Cristina de Andrade E-mail: professora.julianacrstina@gmail.com Site: www.julianacristina.com
Leia maisAleph. Entre Bibliotecas. Reunião da REJE 09 de novembro de 2011
Aleph Empréstimo Entre Bibliotecas Reunião da REJE 09 de novembro de 2011 1. Conceitos e definições 2 Para que serve o módulo de EEB? Para que a Biblioteca possa receber solicitações de seus usuários de
Leia maisPHP (PHP Hypertext Preprocessor)
PHP (PHP Hypertext Preprocessor) André Tavares da Silva andre.silva@udesc.br Datas No PHP a função date() é usada para formatar um tempo ou data. string date(string $format [,int $timestamp]) Ex.: echo
Leia maisMINISTÉRIO DA EDUCAÇÃO
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA CAMPUS SÃO JOSÉ REDES DE COMPUTADORES Laboratório 2 Wireshark
Leia maisCONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer
Leia maisManual do Desktop Sharing. Brad Hards Tradução: Marcus Gama
Brad Hards Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 O protocolo do Buffer de Quadro Remoto (Buffer de Quadro Remoto) 6 3 Usando o Desktop Sharing 7 3.1 Gerenciando convites do Desktop Sharing........................
Leia maisEspecificação do Trabalho Prático
Especificação do Trabalho Prático O trabalho prático da disciplina consiste em desenvolver um programa utilizando a linguagem de programação C. A seguir, encontram-se a descrição do problema, a forma de
Leia maisArquitetura de Sistemas Operativos
Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Introdução Os sistemas operativos implementam mecanismos que asseguram independência entre processos (i.e., a execução de um processo
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
Leia maisProgramação de Sistemas
Programação de Sistemas Introdução aos modelos de comunicação Programação de Sistemas Modelos de comunicação :1/19 Introdução (1) Os sistemas operativos implementam mecanismos que asseguram independência
Leia maisSistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
Leia maisInstituto Superior Técnico MEEC/MEAR. Programação de Sistemas
Instituto Superior Técnico MEEC/MEAR Programação de Sistemas António Grilo Renato Matias Rui Gustavo Crespo Antonio DOT Grilo AT inov DOT pt rms AT comp DOT ist DOT utl DOT pt rgc AT comp DOT ist DOT utl
Leia maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisExemplos práticos do uso de RMI em sistemas distribuídos
Sistemas Distribuídos PPGCC PUCRS Abril/2007 Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues Guilherme Montez Guindani Leonardo Albernaz Amaral Fábio Delamare Cronograma
Leia maisSocketBasico Receita: SocketBasico Esta receita é baseada em um material que preparei para uso em aulas para demostrar a programação básica para redes usando socket com a intensão de ser uma "prova de
Leia maisEste documento consiste em 9 páginas. Elaborado por: Innova Tecnologia de Soluções. Liberado em Julho de 2009.
Manual do Usuário IRec 100 1.5 Este documento consiste em 9 páginas. Elaborado por: Innova Tecnologia de Soluções. Liberado em Julho de 2009. Impresso no Brasil. Sujeito a alterações técnicas. A reprodução
Leia maisFTP: protocolo de transferência de arquivos
FTP: protocolo de transferência de arquivos no hospedeiro interface cliente de FTP FTP sistema de arquivo local transf. de arquivos servidor FTP sistema de arquivo remoto transfere arquivo de/para hospedeiro
Leia maisTrabalho de Conclusão de Curso
Trabalho de Conclusão de Curso PROTÓTIPO DE UM SOFTWARE EDUCACIONAL PARA AUXILIAR O PROCESSO ENSINO- APRENDIZAGEM ATRAVÉS DE RECURSOS COMPUTACIONAIS Orientador: Francisco Adell Péricas Acadêmico: Andrei
Leia maisEndereçamento Privado Proxy e NAT. 2008, Edgard Jamhour
Endereçamento Privado Proxy e NAT Motivação para o Endereçamento IP Privado Crescimento do IPv4 07/2007 490 milhões de hosts 01/2008 542 milhões de hosts IPv4 permite endereçar 4 bilhões de hosts. PREVISÃO
Leia maisECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO
Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...
Leia maisProgramação Paralela e Distribuída. Prof. Cidcley T. de Souza
Programação Paralela e Distribuída Prof. Cidcley T. de Souza Conteúdo Parte I Introdução aos Sockets Tipos de Sockets Classes Java: InetAddress, Datagram Sockets, Stream Sockets, Output e Input Classes
Leia maisCapítulo 2. VARIÁVEIS DO TIPO INTEIRO
Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores
Leia maisCARTOSOFT GUIA PRÁTICO PROCART SISTEMAS
CARTOSOFT GUIA PRÁTICO PROCART SISTEMAS INSTALAÇÃO DO SISTEMA E CONFIGURAÇÃO PARA USO EM REDE Versão 1.1 Instalação Programa Cartosoft 1 INICIANDO 1.1 Instalando o Programa Clique no programa InstaladorCartosoft.exe.
Leia maisManual do Usuário do Produto EmiteNF-e. Manual do Usuário
Manual do Usuário Produto: EmiteNF-e Versão: 1.2 Índice 1. Introdução... 2 2. Acesso ao EmiteNF-e... 2 3. Configurações Gerais... 4 3.1 Gerenciamento de Usuários... 4 3.2 Verificação de Disponibilidade
Leia maisGuia do Aplicativo Bomgar B200 Índice
Guia do Aplicativo Bomgar B200 Índice Introdução 2 Configuração do Bomgar Box 2 Fundamentos 2 Armazenamento 3 Minha conta 3 Configuração do IP 4 Rotas estáticas 5 Administração de aplicativo 5 Configuração
Leia mais