hola todos tengo un problema que es el siguiente
lo que quiero hacer es por el socket que el cliente se conecte
y cuando se conecte se almacene en un arreglo para poder identificarlo por cada cliente que se contecte, pero cuando el cliente envie algo adjuntado un codigo le envie al otro cliente no se como hacer esto
aqui le adjunto el server
el cliente se aria por telnet 127.0.0.1 59748
import java.net.*;
import java.io.*;
public class EchoServer
{
ServerSocket m_ServerSocket;
public EchoServer()
{
try
{
m_ServerSocket = new ServerSocket(59748);
}
catch(IOException ioe)
{
System.out.println("No se pudo crear el server socket en el puerto 59748. Verifique el puerto.");
System.exit(-1);
}
System.out.println("Escuchando clientes en el puerto 59748...");
int id = 0;
while(true)
{
try
{
Socket clientSocket = m_ServerSocket.accept();
ClientServiceThread cliThread = new ClientServiceThread(clientSocket, id++);
cliThread.start();
System.out.println( id );
}
catch(IOException ioe)
{
System.out.println("Exception encountered on accept. Ignoring. Stack Trace :");
ioe.printStackTrace();
}
}
}
public static void main (String[] args)
{
new EchoServer();
}
class ClientServiceThread extends Thread
{
Socket m_clientSocket;
int m_clientID = -1;
boolean m_bRunThread = true;
ClientServiceThread(Socket s, int clientID)
{
m_clientSocket = s;
m_clientID = clientID;
}
public void run()
{
BufferedReader in = null;
PrintWriter out = null;
System.out.println("Cliente Aceptado: ID - " + m_clientID + " : Address - " +
m_clientSocket.getInetAddress().getHostName());
try
{
in = new BufferedReader(new InputStreamReader(m_clientSocket.getInputStream()) );
out = new PrintWriter(new OutputStreamWriter(m_clientSocket.getOutputStream( )));
out.println("[ pw 1234 cm 28");
out.flush();
while(m_bRunThread)
{
String clientCommand = in.readLine();
System.out.println("Client Dice :" + clientCommand);
if(clientCommand.charAt (0) == '<')
System.out.println("prueba : ");
System.out.println(" mundo "+ m_clientID);
if(clientCommand.equalsIgnoreCase("salir"))
{
m_bRunThread = false;
System.out.print("El cliente se ha desconectado del hilo : " + m_clientID);
}
else
{
out.println("[ pw 1234 cm 28");
out.flush();
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
in.close();
out.close();
m_clientSocket.close();
System.out.println("...Parado");
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
}
}
}
}