bom eu tenho que fazer um chat que tem um servidor e nele se conecta carios clientes ,conectar so um cliente eu consigo , o problema e excecutar mais do que um ei sei que tem que usar um Runnable so não consigui descobrir onde
meu codigo
import java.io.*;
import java.net.*;
public class Cliente {
Socket smtpSocket = null;
DataOutputStream saida = null;
DataInputStream entrada = null;
public Cliente() {
}
protected void conecta(){
try{
ConexaoCliente r =new ConexaoCliente();
Thread t = new Thread(r);
t.start();
Thread.sleep(2000);
smtpSocket = new Socket("localhost", 25);
saida = new DataOutputStream(smtpSocket.getOutputStream());
entrada = new DataInputStream(smtpSocket.getInputStream());
}
catch (UnknownHostException e){
System.err.println("Nao Consegui Conectar com o Host");
}
catch (IOException e){
System.err.println("A Transacao de I/O Falhou");
}
catch(InterruptedException e){
System.err.println("gghhgg");
}
if (smtpSocket != null && saida != null && entrada != null){
try{
saida.writeBytes("Oi Servidor\n");
saida.writeBytes("Tudo bem contigo\n");
saida.writeBytes("QUIT");
String respostaLinha;
while ((respostaLinha = entrada.readLine()) != null){
System.out.println("Recebi do Servidor: " + respostaLinha);
if (respostaLinha.indexOf("Ok") != -1){
break;
}
}
saida.close();
entrada.close();
smtpSocket.close();
}
catch (UnknownHostException e){
System.err.println("Tentando Desconectar com Host Desconhecido: " + e);
}
catch (IOException e){
System.err.println("IOException: " + e);
}
}
}
}
import java.io.*;
import java.net.*;
public class Servidor {
static ServerSocket echoServer = null;
String linha;
DataInputStream entrada;
PrintStream saida;
Socket clientSocket = null;
public Servidor() {
}
protected static ServerSocket abriPorta(){
if(echoServer!=null){
return echoServer;
}
try{
return echoServer = new ServerSocket(25);
}
catch (IOException e){
System.out.println(e);
return null;
}
}
protected void conversa(){
try{
clientSocket = echoServer.accept();
entrada = new DataInputStream(clientSocket.getInputStream());
saida = new PrintStream(clientSocket.getOutputStream());
while (true){
linha = entrada.readLine();
if (linha.equalsIgnoreCase("QUIT")){
linha = "OK";
saida.println(linha);
break;
}
System.out.println("Recebi isto do Cliente: " + linha);
linha = linha.concat(" - Comigo tudo Bem");
saida.println(linha);
}
saida.close();
entrada.close();
echoServer.close();
clientSocket.close();
}
catch (IOException e){
System.out.println(e.getMessage());
}
}
}
agradeço desde ja