Socket -

5 respostas
F

Tenho um microcontroladador, que etravés de um conversor de ETHERNET, envia informaçoes para uma aplicação em Java. Eu estou utilizando o seguinte código para o recebimento destes dados:

import java.io.;
import java.net.
;

public class Client {
public static void main(String[] args) throws IOException {

Socket microSocket = null;
    PrintWriter out = null;
    BufferedReader in = null;

    try {
        microSocket = new Socket("10.10.8.44", 3500); 
        in = new BufferedReader(new InputStreamReader(
                                    microSocket.getInputStream()));
    } catch (UnknownHostException e) {
        System.err.println("Don't know about host: 10.10.8.44.");
        System.exit(1);
    } catch (IOException e) {
        System.err.println("Couldn't get I/O for "
                           + "the connection to: 10.10.8.44.");
        System.exit(1);
    }

while (in.readLine() != "25") {
   
    System.out.println("\n\r" + in.readLine());
}

 
in.close();

microSocket.close();
}

}

O socket consegue localizar o servidor mas quando o servidor envia os dados nada eles não são impressos na tela. Fica aparecendo um momnte de NULL.

5 Respostas

C

Seguinte… primeiramente comece analizando seu código e olhando como vc tratou essas excessoes.
Seguinte2… use DataInputStream e DataOutputStream pra fazer isso…
Seguinte3… Não use o método main pra fazer sua app inteira, ok?

F

Valew pelas dicas,

As execessoes estão funcionando corretamente, pois eu as testei, tanto tirando o servidor da rede como coloncado um host inválido.
E também não irei utiliza-lo com o método principal, ele foi assim designado para fins de teste do funcionamento do método.
Quanto ao DataInputStream e DataOutputStream, farei a modificação e relatarei o sucesso ou não aqui no tópico.

T+.

C

Funcionar != Estar certo.

F

Quais são os critérios para estarem certo?

Valew!

C

Um código dentro dos padrões da sun, exceptions declaradas corretamente…

Olha no seu código que vc ja declarou uma IOException no cabecalho do seu metodo, mas estra tratando ela no corpo dele, isso é estar escrito errado.

Criado 28 de março de 2007
Ultima resposta 31 de mar. de 2007
Respostas 5
Participantes 2