segunda-feira, 10 de outubro de 2011

Socket em Java

No servidor.java coloque o seguinte codigo. O servidor deve rodar primeiro e aguardar o cliente conectar.


import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class Servidor {
    public static void main(String[] args) throws IOException {
       
        ServerSocket servidor = new ServerSocket(15000);
        System.out.println("Porta 15000 aberta");
       
        Socket cliente = servidor.accept();
        System.out.println("Nova conexao com o cliente " +
        cliente.getInetAddress().getHostAddress());
       
        Scanner entrada = new Scanner(cliente.getInputStream());
       
        while(entrada.hasNextLine()) {
            System.out.println(entrada.nextLine());
        }
       
        entrada.close();
        servidor.close();
       
    }
}

No cliente.java o seguinte arquivo deve ser executado:


import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class Cliente {
   
    public static void main(String[] args)
        throws UnknownHostException, IOException {

        Socket cliente = new Socket("192.68.1.46", 15000);
        System.out.println(cliente.getInetAddress().getHostAddress());
        System.out.println("O cliente se conectou com o servidor");
       
        Scanner teclado = new Scanner(System.in);
        PrintStream saida = new PrintStream(cliente.getOutputStream());
       
        while(teclado.hasNextLine()) {
            saida.println(teclado.nextLine());
        }
       
        saida.close();
        teclado.close();
   
    }
}


O ideal da conexão com o socket é através do uso de Threads (gerenciador de processamento) pois desta maneira cliente e servidor podem trocar dados através de um duplo socket, sendo um de envio e o outro de transmissão.

Nenhum comentário:

Postar um comentário