Network Programming. Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP

Documentos relacionados
Sockets e Threads em Java

User Datagram Protocol

Redes de Computadores II. Programação com Sockets em Python

Resumo das Propriedades de UDP e de TCP

Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC, Programação em Comunicações

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Sockets em Java. Leonardo R. Nunes - leonardo@sumersoft.com. 1. Introdução. 2. Sockets TCP/IP

Utilização das classes Java para comunicação TCP/IP e UDP/IP

PROGRAMAÇÃO COM SOCKETS

socket Objetivo: aprender a construir aplicações cliente/servidor que se comunicam usando sockets

Java 2 Standard Edition Fundamentos de

Programando sistemas distribuídos com objetos distribuídos na rede TCP/IP. Prof. Me. Sérgio Carlos Portari Júnior

Programação de Sockets

Programação com sockets (em Java)

Mecanismos de Comunicação. Sockets em java (

Redes de Computadores I

Caso 1 NetScanner Main

Exercício 1: Criar um programa que utiliza que desenha uma interface gráfica tal como descrito na Figura 1.1.

Programação com Sockets

Sistemas Distribuídos Java Sockets

Programação de sockets com TCP

Interfaces Gráficas (GUIs) em Java usando Swing Parte I - O básico

A classe JTextField

Reader e Writer para streams de caracteres (texto).

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Java : Comunicação Cliente-Servidor.

Comunicação entre processos

INF1013 MODELAGEM DE SOFTWARE

Se você omitir :6789, o browser irá assumir a porta 80, que, provavelmente, não terá nenhum servidor à escuta.

Programação em Rede Baseada em Java. Luiz Affonso Guedes Tópicos em Redes de Computadores Programação Distribuída

Java AWT Objectos e Eventos. Label Button TextField Checkbox RadioButton Combobox

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Redes de Computadores Programação com Sockets

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

Passagem de Mensagens

Sistemas Distribuídos

Programação Java. Construção de Interface gráfica. Processo Básico: OO + Eventos. Exemplo

Programação de Sockets

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Nona aula

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

MÓDULO 4 SWING Parte 3

Um pouco do Java. Prof. Eduardo

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula de Revisão para AV1

Exemplo Threads com Swing:

Componentes GUI A aparência e maneira como um usuário pode interagir com componentes AWT diferem de acordo com a plataforma. Componentes Swing permite

Elaborando Interfaces. Prof. André Aparecido da Silva Disponível em: Aulas 16, 17, e 18

Programação com Sockets

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Motivação. Java First-Tier: Aplicações. Entrada & Saída. Stream de Entrada. Stream de Saída. Pacote java.io. Leitura e Escrita de Streams

Sockets com Java Parte I

Capítulo II Modelos de Programação Distribuída

Cliente-servidor com Sockets TCP

Orientação a Objetos

Aula 30 - Sockets em Java

JAVA. Professor: Bruno Toledo

Como pôde verificar, a criação de um objecto do tipo File não cria o ficheiro em disco.

Vetores Unimensionais

Sistemas Operacionais:

Reader e Writer para streams de caracteres (texto).

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ SOCKETS UDP, TCP E MULTICAST. Prof. Cesar Augusto Tacla

package br.com.cadastro.visao;

Exercícios para o curso de Lógica e Programação Java

Implementando comunicação em JAVA via Sockets. Alcides Calsavara - alcides@ppgia.pucpr.br Leonardo R. Nunes - leonardo@sumersoft.

Interfaces Gráficas com Swing. Professor Leonardo Larback

Transcrição:

Network Programming Conceitos Básicos A classe InetAddress Programação de Socket TCP Programação de Socket UDP

Conceitos Básicos Internet e seus serviços TCP/IP IP UPD vs TCP

InetAddress Classe usada para manipular endereços IP Alguns métodos: public java.lang.string gethostname(); public java.lang.string gethostaddress(); public boolean equals(java.lang.object); public static InetAddress getbyaddress(string, byte[]) public static InetAddress getbyname(string) public java.lang.string tostring();

InetAddress Exemplo: Crie um programa onde o utilizador introduz um IP e o sistema retorna o domínio da máquina e vice versa.

import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; public class app1 extends JPanel implements ActionListener JLabel l1,l2; JTextField t1,t2,t3; JButton b1,b2,b3,b4; public app1() l1=new JLabel("IP"); l2=new JLabel("Dominio"); t1=new JTextField(10); t2=new JTextField(10); t3=new JTextField(10); b1=new JButton("Converter pra IP"); b2=new JButton("Converter pra Nome"); add(l1); add(t1); add(l2); add(t2); add(b1); add(b2); add(t3); b1.setbounds(100,100,20,10); b2.setbounds(90,100,100,10); b1.addactionlistener(this); b2.addactionlistener(this);

public static void main(string x[]) JFrame frm=new JFrame("Calculadora"); app1 obj=new app1(); frm.setcontentpane(obj); Container c=frm.getcontentpane(); c.setlayout(new FlowLayout()); frm.setvisible(true); frm.resize(400,500); public void actionperformed(actionevent e) if(e.getsource()==b2) try InetAddress addr=inetaddress.getbyname(t2.gettext()); String t=addr.gethostaddress(); t3.settext(t); if(e.getsource()==b1) try InetAddress addr2=inetaddress.getbyname(t1.gettext ()); String temp=addr2.gethostname(); t3.settext(temp); catch (Exception e5)system.out.print(e5.getmessage()); catch (Exception e4)system.out.print(e4.getmessage());

Programação de Socket TCP As seguintes classes e métodos são frequentemente usados: Socket Class getoutputstream() Cria um caminho para o envio de dados getinputstream() Cria um caminho para o receber dados ServerSocket Class Accept() - Aceitar conexões dos clientes (usado no servidor) Outros Métodos: Estas classes pertencem ao pacote: java.net.*

Outros Métodos ServerSocket: public java.net.inetaddress getinetaddress(); public int getlocalport(); public java.net.socketaddress getlocalsocketaddress(); public java.net.socket accept() throws java.io.ioexception; protected final void implaccept(java.net.socket) throws java.io.ioexception; public void close() throws java.io.ioexception; public java.nio.channels.serversocketchannel getchannel(); public boolean isbound(); public boolean isclosed();

Outros Métodos Socket: public boolean isconnected(); public boolean isbound(); public boolean isclosed(); public boolean isinputshutdown(); public boolean isoutputshutdown(); void setcreated(); void setbound(); void setconnected(); public java.net.inetaddress getinetaddress(); public java.net.inetaddress getlocaladdress(); public int getport(); public int getlocalport(); public java.net.socketaddress getremotesocketaddress(); public java.net.socketaddress getlocalsocketaddress(); public java.nio.channels.socketchannel getchannel();

Programação de Socket TCP As seguintes classes e métodos são frequentemente usados: DataOutputStreamClass writebytes(string) método para enviar dados usando o caminho outputstream criado. InputStreamReader Class readline() método para receber dados usando o caminho inputstream criado Estas classes pertencem ao pacote: java.net.*

Programação de Socket TCP Crie uma aplicação cliente-servidor, onde o cliente envia uma String para o servidor e este converte para maiusculos e re-envia para o cliente. Cliente import java.io.*; import java.net.*; import java.util.*; class client3 public static void main(string f[]) Scanner T=new Scanner(System.in); try Socket socket=new Socket("127.0.0.1",9000); System.out.println("Digite a mensagem a enviar"); String antiga=t.nextline(); String nova; DataOutputStream out=new DataOutputStream(socket.getOutputStream()); BufferedReader indoserver=new BufferedReader(new InputStreamReader(socket.getInputStream())); out.writebytes(antiga+'\n'); nova=indoserver.readline(); System.out.println("Mensagem recebida do servidor="+nova); socket.close(); catch (Exception e5)system.out.print(e5.getmessage());

Server Programação de Socket TCP import java.io.*; import java.net.*; class server3 public static void main(string f[]) try ServerSocket sc=new ServerSocket(9000); String client; String toclient; while(true) Socket sock=sc.accept(); BufferedReader docliente=new BufferedReader(new InputStreamReader(sock.getInputStrea m())); DataOutputStream Do; Do=new DataOutputStream(sock.getOutputStream()); client =docliente.readline(); System.out.println("MENSAGEM DO CLIENTE:"+client); System.out.println("Convertendo pra maiuscula e enviando pa cliente:"); toclient=client.touppercase(); Do.writeBytes(toclient+'\n'); //sock.close(); catch (Exception e5)system.out.print(e5.getmessage());

Programação de Socket TCP Agora converta a aplicação cliente para GUI, mas o cliente deve especificar o IP do servidor e por defeito a porta 9000 é usada para a comunicação.

Programação de Socket TCP if(e.getsource()==b1) try InetAddress addr=inetaddress.getbyname(tip.gettext()); String t=addr.gethostaddress(); Socket socket=new Socket(t,9000); DataOutputStream out=new DataOutputStream(socket.getOutputStream()); out.writebytes(t1.gettext()+'\n'); BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream())); String mensagem=in.readline(); t2.settext(mensagem); catch (UnknownHostException e5)system.out.print(e5.getmessage()); catch (Exception e4)system.out.print(e4.getmessage());

Programação de Socket UDP Conexão não é ponto a ponto Não ha certeza se os dados chegaram ou não Não é necessàrio haver conexão para usar sockets UDP Ex. Email Classes: DatagramSocket: usado para criar um caminho para enviar pacótes DatagramPacket: contem o dado a ser enviado (pacótes)

Programação de Socket UDP Ex. Desenvolva uma aplicação onde o cliente enviam um email ao servidor e este deve responder ao receber a mensagem.