Professional Documents
Culture Documents
Conceitos Bsicos A classe InetAddress Programao de Socket TCP Programao de Socket UDP
Conceitos Bsicos
TCP/IP
IP
UPD vs TCP
InetAddress
Classe usada para manipular endereos IP
InetAddress
Exemplo: Crie um programa onde o utilizador introduz um IP e o sistema retorna o domnio da mquina e vice versa.
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);
public app1() { l1=new JLabel("IP"); l2=new JLabel("Dominio"); t1=new JTextField(10); t2=new JTextField(10); t3=new JTextField(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);
}catch (Exception e4){System.out.print(e4.getMessage());} }
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());} }
Socket Class
getInputStream() Cria um caminho para o receber dados
ServerSocket Class
Outros Mtodos:
Outros Mtodos
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 Mtodos
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();
DataOutputStreamClass
InputStreamReader Class
Socket socket=new Socket("127.0.0.1",9000); System.out.println("Digite a mensagem a enviar"); String antiga=T.nextLine(); String nova;
Server
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;
Classes:
DatagramSocket: usado para criar um caminho para enviar pactes DatagramPacket: contem o dado a ser enviado (pactes)