Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2010, 14:47
aegis900
 
Fecha de Ingreso: diciembre-2010
Ubicación: Bogotá
Mensajes: 22
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Sockets en java

Buenas tardes amigos del foro, he estado leyendo acerca de los sockets y quiero hacer lo siguiente:

Tengo implementado una clase Servidor y otra clase Cliente, el socket se crea perfectamente y existe la comunicacion, lo que quiero hacer es, saber desde el servidor si la conexion del cliente esta abierta o si ya se cerro, estuve leyendo por ahi y pues dicen que no se puede saber eso, me gustaria que me ayudaran por favor o si no en vez de utilizar sockets que otra cosa me podria servir, Muchas gracias


tengo implementado el ejemplo básico de sockets:

import java.io.*;

import java.net.*;

class Cliente {

static final String HOST = "localhost";

static final int PUERTO=5000;

public Cliente( ) {

try{

Socket skCliente = new Socket( HOST , Puerto );

InputStream aux = skCliente.getInputStream();

DataInputStream flujo = new DataInputStream( aux );

System.out.println( flujo.readUTF() );

skCliente.close();

} catch( Exception e ) {

System.out.println( e.getMessage() );

}

}

public static void main( String[] arg ) {

new Cliente();

}

}

----------Servidor----------

import java.io.* ;

import java.net.* ;

class Servidor {

static final int PUERTO=5000;

public Servidor( ) {

try {

ServerSocket skServidor = new ServerSocket( PUERTO );

System.out.println("Escucho el puerto " + PUERTO );

for ( int numCli = 0; numCli < 3; numCli++; ) {

Socket skCliente = skServidor.accept(); // Crea objeto

System.out.println("Sirvo al cliente " + numCli);

OutputStream aux = skCliente.getOutputStream();

DataOutputStream flujo= new DataOutputStream( aux );

flujo.writeUTF( "Hola cliente " + numCli );

skCliente.close();

}

System.out.println("Demasiados clientes por hoy");

} catch( Exception e ) {

System.out.println( e.getMessage() );

}

}

public static void main( String[] arg ) {

new Servidor();

}

}

en este caso el cliente llega pero se cierra, me gustaria que el cliente quedara abierto, y cuando se cierre, en el servidor aparezca algo como "el cliente "+numcliente+" ha cerrado" o algo asi

(disculpemen, pero soy nuevo y no se citar codigo)

Última edición por aegis900; 30/12/2010 a las 14:53 Razón: poner codigo