Aplicación cliente servidor con varios clientes
Publicado por Gaston (1 intervención) el 30/05/2009 19:23:19
hola a todos, muchas gracias por brindarme este espacio para poder hacer mi consulta. No hace mucho que inmerso en el mundo de java pero ya llevo un buen tiempo. Bueno voy a tratar de ser lo más claro posible.
Les dejo aqui mi pregunta:
Estoy desarrollando una aplicación cliente servidor en la cual deseo que el servidor pueda atender a más de un cliente. Como siempre hice el ciclo infinito que se la pasa haciendo accept()
El código es mas o menos así:
while(true)
{
cliente = server.accept();
msgDelCliente = new DataInputStream(cliente.getInputStream());
msgParaCliente = new DataOutputStream(cliente.getOutputStream());
Nick = msgDelCliente.readUTF();
if(!isConected(Nick))
{
listaClientes.add(new IOClientes(cliente.getInputStream(), cliente.getOutputStream()));
codigoClientes.put(Nick, new Integer(listaClientes.size()));
msgParaCliente.writeUTF("Se conectó al server");
}
lo que hago es usar un arrayList en el cual guardo una clase llamada IOCliente dentro de la cual guardo el InputStream y el OutputStream del cliente recien aceptado. lo q pude comprobar es q si desde el cliente envio mensaje al servidor éste lo recibe. pero si envío un mensaje del servidor al cliente, el cliente jamás lo recibe.
Desde ya muchas gracias de antemano. Espero haber sido claro, les dejo mi mail [email protected]
Les dejo aqui mi pregunta:
Estoy desarrollando una aplicación cliente servidor en la cual deseo que el servidor pueda atender a más de un cliente. Como siempre hice el ciclo infinito que se la pasa haciendo accept()
El código es mas o menos así:
while(true)
{
cliente = server.accept();
msgDelCliente = new DataInputStream(cliente.getInputStream());
msgParaCliente = new DataOutputStream(cliente.getOutputStream());
Nick = msgDelCliente.readUTF();
if(!isConected(Nick))
{
listaClientes.add(new IOClientes(cliente.getInputStream(), cliente.getOutputStream()));
codigoClientes.put(Nick, new Integer(listaClientes.size()));
msgParaCliente.writeUTF("Se conectó al server");
}
lo que hago es usar un arrayList en el cual guardo una clase llamada IOCliente dentro de la cual guardo el InputStream y el OutputStream del cliente recien aceptado. lo q pude comprobar es q si desde el cliente envio mensaje al servidor éste lo recibe. pero si envío un mensaje del servidor al cliente, el cliente jamás lo recibe.
Desde ya muchas gracias de antemano. Espero haber sido claro, les dejo mi mail [email protected]
Valora esta pregunta


0