Socket (out.println)

Galera quando eu uso o objeto que e uma instancia da classe PrintWriter mais que uma vez seguida ele nao atende os d+ apenas o a 1º chamada veja ex:

PrintWriter out =new PrintWriter (socket.getOutputStream(), true);

out.println(“vai”);
out.println(“vai2”);
out.println(“vai3”);

So manda para o servidor o 1° o “vai”, alguem pode me ajudar?

Não se esqueça de usar “flush” depois de mandar cada linha.

usei mas mesmo assim so mana o 1º

Uma coisa que aprendi, ao usar sockets, é que é bastante difícil usá-los corretamente sem entender como é que funcionam.

Eu havia esquecido de mencionar que é necessário, quando se usa esse tipo de “não-protocolo” com sockets (ou seja, usá-lo como se fosse imprimir os dados no console), que é necessário desabilitar uma otimização do socket TCP/IP (“Nagle Algorithm”). Ou seja, é necessário usar:

socket.setTcpNoDelay (true);

onde “socket” é uma variável se referindo à classe de socket que você encapsulou com o PrintWriter.