Amigos do forum o programa esta exibindo a conexão com o cliente certinho …só tem um problema não estou cosneguindo enviar nenhuma mensagem entre o cliente - servidor , sendo que eles estão conectados . O programa não da erro nenhum !!!
package pkg.cliente;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Cliente {
private Socket cliente ;
private ObjectOutputStream enviar ;
private ObjectInputStream receber ;
private String mensagem ;
public void iniciarConexao( String ipServidor , int porta ) throws IOException, ClassNotFoundException {
conectarServidor(ipServidor, porta);
getStream();
receberMensagem();
}
public void conectarServidor( String ipServidor , int porta ) throws UnknownHostException, IOException {
cliente = new Socket(ipServidor,porta);
}
public void getStream() throws IOException, ClassNotFoundException {
enviar = new ObjectOutputStream(cliente.getOutputStream());
enviar.flush();
receber = new ObjectInputStream(cliente.getInputStream());
}
public void enviarMensagem(String mensagem) throws IOException {
System.out.println("Enviado Mensagem...");
enviar.writeObject( " <<Cliente>> " + mensagem + "\n" );
enviar.flush();
}
public void receberMensagem() throws IOException, ClassNotFoundException {
do {
mensagem = (String) receber.readObject();
System.out.println(mensagem);
} while (!mensagem.equals("fim"));
}
public static void main(String[] args) {
try {
Cliente cliente = new Cliente();
cliente.iniciarConexao("127.0.0.1", 12345);
cliente.enviarMensagem("ola");
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
}
}
package pkg.servidor;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Servidor {
private ServerSocket server = null ;
private Socket conexao = null ;
private ObjectOutputStream enviar ;
private ObjectInputStream receber ;
private String mensagem = "";
public void iniciarServidor() throws IOException, ClassNotFoundException {
server = new ServerSocket(12345);
while(true) {
aguardarConexao();
getStream();
receberMensagem();
}
}
public void aguardarConexao() throws IOException {
System.out.println(" Aguardando conexão...");
conexao = server.accept();
System.out.println(" Conexão estabelecida com o IP : " + conexao.getInetAddress().getHostAddress() + "\n" + " Nome do computador remoto : " + conexao.getInetAddress().getHostName() + "\n");
}
public void getStream() throws IOException, ClassNotFoundException {
enviar = new ObjectOutputStream(conexao.getOutputStream());
enviar.flush();
receber = new ObjectInputStream(conexao.getInputStream());
}
public void enviarMensagem(String mensagem) throws IOException {
enviar.writeObject( " <<Servidor>> " + mensagem + "\n" );
enviar.flush();
}
public void receberMensagem() throws IOException, ClassNotFoundException{
do {
mensagem = (String) receber.readObject();
System.out.println(mensagem);
} while (!mensagem.equals("fim"));
}
public static void main(String[] args) {
try {
Servidor servidor = new Servidor();
servidor.iniciarServidor();
servidor.enviarMensagem("aaaa");
} catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
System.out.println(e.getCause());
e.printStackTrace();
}
}
}
Agadeço a quem ajudar