Sockets ajuda

3 respostas
D

tenho cliente e servidor sockets,
como faço para testar, preciso de 2 maquinas??

Valeu[]

3 Respostas

T

Você precisa de uma só, mas você deve iniciar primeiro o servidor e depois o cliente. Isso não é difícil, e para o endereço, use o endereço da máquina (que você pode determinar usando o comando ifconfig ou ipconfig), ou então localhost.

lina

Oi,
Você também pode cria um simulador… onde simula um ambiente sem servidor… e testando via telnet.

Tchauzin!

jeam

Estou estudando sockets, sabe o código compila sem problemas mas, o cliente simplesmente não dá nem sinal de vida. Eu presciso testar em dua máquinas diferentes é???
Estou passando o código:

Esse é o meu servidor:

    import java.net.*;
import <a href="http://java.io">java.io</a>.*;

import java.util.Scanner;

public class Server {
public static void main( String args[] ){
    
                try{
                    ServerSocket server = new ServerSocket( 1100 );
                    System.out.println( "Porta aberta 1100." );
                    // conetctando o cliente 
                    Socket connection = server.accept();// cliente
                    System.out.printf( "Conexão Estabelecida com o computador %s.",
                                                             connection.getInetAddress().getHostAddress() );  
                                                                
                    Leitor leitor = new Leitor( connection.getInputStream() );
                    new Thread( leitor ).start();                                            
                    /*
                    BufferedReader entrada = new BufferedReader( new InputStreamReader( connection.getInputStream() ) );
                    PrintStream saida = new PrintStream( connection.getOutputStream() );
                    String value = "O Servidor Escreveu Esse Texto!";
                    String line = entrada.readLine();
                    while( true ){
                        System.out.println( line );
                        if( line == null )
                            break;
                    }// final da instrução while
                    saida.println( value );
                    */
                   
                    Scanner in = new Scanner(System.in);
                    PrintStream out = new PrintStream( connection.getOutputStream() );
                    while( in.hasNextLine() ){
                        out.println( in.nextLine() );
                    }// final da instrução while
                     
                }catch( Exception exception ){
                    System.out.printf( "Ocorreu um erro %s", exception.getMessage() );
                }
        
    }// final do metodo main
    
}// final da classe server

    E Esse é o meu cliente:

    import java.io.*;
import <a href="http://java.net">java.net</a>.*;

import java.util.Scanner;

public class Client {

public static void main( String args[] ){
// Linha de execução do cliente
        try{
            // estabelecendo a conexão
            Socket client = new Socket( "localhost", 1100 );
            System.out.println( "O cliente se conectou ao servidor." );
            
            Leitor leitor = new Leitor( client.getInputStream() );
            new Thread( leitor ).start(); 
            /*
            //capturando entrada de dados do konsole
            //System.out.println( "Escreva os dados a serem transferidos." );
            BufferedReader input = new BufferedReader( new InputStreamReader( client.getInputStream() ) );
            // saida para o servidor
            PrintStream output = new PrintStream( client.getOutputStream() );
            String value = "O Cliente Escreveu Esse Texto.";
            String line = input.readLine();
            while( line != null ){
                System.out.println( line );
                output.println( value );
            }// final da instruçao while
            */
           Scanner in = new Scanner(System.in);
           PrintStream out = new PrintStream( client.getOutputStream() );
           while( in.hasNextLine() ){
                out.println( in.nextLine() );
           }// final da instrução while
           
            client.close();
            in.close();
            out.close();
        }catch( Exception exception ){ 
            System.out.printf( "Ocorreu um erro %s.", exception.getMessage() );
        }// final de try...catch 
        
    }// final do metodo main
        
}// final da classe Client

 pessoal, o código pareçe estar correto, mas eu não sei por que não funciona.

Se der pra dar uma ajudinha eu agradeço.
Desde já, meu muinto obrigado.

Criado 10 de julho de 2007
Ultima resposta 28 de set. de 2008
Respostas 3
Participantes 4