Foros del Web » Programación para mayores de 30 ;) » Java »

Cual es mi error al intentar hacer un chat

Estas en el tema de Cual es mi error al intentar hacer un chat en el foro de Java en Foros del Web. Hola amigos... Estoy realizando un chat con java, pero necesito que este chat trabaje en internet, no se como hacer esto, he realizado el siguiente ...
  #1 (permalink)  
Antiguo 27/04/2006, 13:17
 
Fecha de Ingreso: junio-2005
Ubicación: Cucuta
Mensajes: 62
Antigüedad: 18 años, 10 meses
Puntos: 2
Cual es mi error al intentar hacer un chat

Hola amigos...

Estoy realizando un chat con java, pero necesito que este chat trabaje en internet, no se como hacer esto, he realizado el siguiente código y me funciona para máquinas que estan en red(conectadas con el cable utp) pero no se como hacer para ponerlo en la web, es solo para dos usuarios(un msn chiquito).... agradesco cualquier colaboración.


en el servidor...

Código PHP:

public void run() {
        try {
            
//CREAMOS EL SOCKET DEL SERVIDOR
            
server = new ServerSocket(Integer.parseInt(this.jTPuerto.getText().trim()));
            
System.out.println("Servidor corriendo...");
        } catch(
Exception e) {
            
System.out.println("Error al correr el servidor\n"+e);
            
System.exit(1);
        }
        
        
Socket client=null;
        while (
true) {
            if (
server==null)
                return;
            try {
                
//ESPERA A QUE LLEGUE ALGO
                
client server.accept();
                
System.out.println("Llegó un cliente!");
            } catch(
Exception e) {
                
System.out.println("No se pudo conectar con el cliente\n"+e);
                
System.exit(1);
            }
            try {
                
InputStreamReader isr = new InputStreamReader(client.getInputStream());
                
BufferedReader is = new BufferedReader(isr);
                
PrintWriter os=new PrintWriter(new BufferedOutputStream(client.getOutputStream()),true);
                
String inStr;
                
//IMPRIMOMOS EL MENSAJE Y HACEMOS
                //TODO LO QUE QUERRAMOS HACER CUANDO LLEGUE UNA PETICION
                //EN ESTE CASO NADAMAS IMPRIMIMOS EL MENSAJE RECIVIDO
                //EN LA CONSOLA PERO PUEDES HACER CUALQUIER OTRA COSA
                
while ((inStr=is.readLine())!=null) {
                    if(
sw) {
                        
java.util.StringTokenizer tok = new java.util.StringTokenizer(inStr,",");
                        
nomLejano tok.nextToken();
                        
this.jTACharla.setText(jTACharla.getText() + "\n" nomLejano " : " tok.nextToken());
                        
sw false;
                        
System.out.println(sw);
                    } else
                        
this.jTACharla.setText(jTACharla.getText() + "\n" nomLejano " : " inStr);
                    
os.println("ok");
                    
os.println("bye");
                }
            } catch(
Exception e) {
                
System.out.println("Error: "+e);
            }
        }
    } 
EN EL CLIENTE

Código PHP:


private void clienteEnviando() {
        
Socket socket=null;
        
InputStreamReader isr=null;
        
BufferedReader in=null;
        
PrintWriter out=null;
        try {
            
socket = new Socket(this.jTIpDestino.getText().trim()
                    , 
Integer.parseInt(this.jTPuerto.getText().trim()));
            
isr = new InputStreamReader(socket.getInputStream());
            
in = new BufferedReader(isr);
            
out = new PrintWriter(socket.getOutputStream(),true);
        } catch(
Exception e) {
            
System.out.println("No se pudo crear la conexión\n"+e);
        }
        try {
            
StringBuffer str = new StringBuffer(128);
            
String inStr;
            
int c;
            if(
sw1) {
                
out.println(this.jTNombre.getText() + "," this.jTAMsgEnvio.getText().trim());
                
sw1 false;
            } else
                
out.println(this.jTAMsgEnvio.getText().trim());
            
socket.sendUrgentData(100);
            while ((
inStr=in.readLine())!=null) {
                
System.out.println("Servidor: " inStr);
                if (
inStr.equals("bye"))
                    break;
            }
            
out.flush();
            
out.close();
            
//in.close();
            
socket.close();
        } catch(
Exception e) {
            
System.out.println("Error al enviar mensaje\n"+e);
        }
        
    } 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:29.