Básico: saida do socket

Bom dia pessoal,

Estou com uma dúvida até meio idiota…

Seguindo um tutorial aqui do guj: http://www.guj.com.br/java.tutorial.artigo.126.1.guj, estou tentando implementar uma “conversa” entre o cliente x servidor.

O cliente abre a conexão, envia uma mensagem e o servidor recebe bonitinho… mas como eu mando uma mensagem do servidor para o cliente?

Tentei simplesmente fazer isto no Servidor.java

// Declaro a saida do servidor para o cliente PrintStream saida = null; ... // TODO fazer mensagem voltar para o agente saida.println("teste");

e no cliente.java[code]// Cria um BufferedReader para o canal da stream de entrada de dados
entrada = new BufferedReader(new InputStreamReader(socket
.getInputStream()));

	// Le a resposta do servidor
	resposta = entrada.readLine().split("\\:");

System.out.println(resposta); // imprime no console
[/code]

Mas como vocês devem imaginar não deu nada certo. O que tenho que fazer pra voltar uma mensagem do servidor para o agente?

Dá uma olhada:
http://www.guj.com.br/posts/list/15/74218.java#506163

:smiley: olhei esse seu post ontem… baixei mas… :oops: não consegui muita coisa… vou olhar aqui de novo

Lá tem a comunicação dos dois lados, se eu não me engano. Olhe o feito em TCP, que é o mais simples.

Bom obrigado pela ajuda…

Estou tentando aqui a um tempinho já… mas consegui aplicar seu código ao meu caso…

  1. Vc conecta ao socketSocket socket = new Socket(); socket.connect(new InetSocketAddress(host , port));

  2. Aqui você manda uma mensagem DataOutputStream output = new DataOutputStream(outputStream); String line = ""; while (!line.equals("EXIT")) { Scanner scan = new Scanner(System.in); System.out.print(": "); line = scan.nextLine(); output.writeInt(line.length()); for (char ch : line.toCharArray()) output.writeChar(ch); output.flush();

Mas de onde saiu a mensagem?

Do system.in.

É um programa para ser usado no console.
Você deve digitar a mensagem depois dos :, que são impressos no console.

A interface é meio esquisita, mas alguns chats antigões eram assim.