Socket no linux

2 respostas
thiagofesta

Bom dia,

Estou com um problema, e não achei nada de especial no google, nem nos foruns...

Bem, é assim, tenho um servidor de socket Java rodando no windows. No windows ele roda tudo certinho, sem problemas, mas ontem fui testar ele no linux e simplesmente não funcionou, não deu excessões, nem erro algum, ele simplesmente não funciona.

Fazendo vários debugs, notei que o socket cliente envia os dados correto para o socket server, o socket server faz as leituras de modo certo, e envia novamente para o cliente, porém o cliente não consegue ler (acredito que esse é o problema). Ou pode ser que o server não manda corretamente também.

Olha só o meu método que faz a leitura do que vem do socket:
public String lerSocket()
    {
            try
            {
                    if(!socketCliente.isClosed())
                    {
                            StringBuffer instr = new StringBuffer();
                            BufferedInputStream bis = new BufferedInputStream(socketCliente.getInputStream());
                            InputStreamReader isr = new InputStreamReader(bis);

                            int c;
                            while ( (c = isr.read()) != 13)
                            {
                                    instr.append( (char) c);
                            }

                            PureScreen.debug("Entrada << " + instr,2);

                            return String.valueOf(instr);
                    }
            } 
            catch (IOException f) 
            {
                    PureScreen.debug("Erro ao fazer leitura do socket.\nErro: " + f.getMessage(),1);
            }
            catch (Exception g) 
            {
                    PureScreen.debug("Erro ao fazer leitura do socket.\nErro: " + g.getMessage(),1);
            }
        
            return "";
    }
Para enviar o que o socket recebe eu uso:
this.outStream = new PrintWriter(new BufferedWriter(new OutputStreamWriter(this.socket.getOutputStream())), true);
Utilizo dessa forma: this.outStream.println("MENSAGEM A ENVIAR");

Alguém da uma luz?

Obrigado!

2 Respostas

T

De onde você tirou esse número mágico (13)?

Veja se não é outro número mágico (10) que você tem de usar.

thiagofesta

Grande thingol!!!
Valeu mesmo!!!

Era isso mesmo, obrigado!

Criado 15 de agosto de 2008
Ultima resposta 15 de ago. de 2008
Respostas 2
Participantes 2