Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - klaine

#11
Java / Re: [Sockets] Sirven en internet?
2 Diciembre 2011, 23:16 PM
Puse la ip que sale en es pagina, el chico al que le pedi que ejecutara el cliente me dijo lo siguiente:

"ahora si abrio algo­­ y dije hola­­"

No se si creerle, pero si es cierto algo anda mal en mi code, si es mentira quizas sea algo mas que haya que hacer.

#12
Eso, un profesor habló conmigo y dijo que mysql era orientado a objetos, que se podian crear clases y que las columnas podian guardar objetos, estuve buscando info relacionada y solo encontre clases php que manejan mysql, ¿es esto cierto o es parte de la descabellada fantasía de mi profesor o es mi ineptitud la que no me permitió encontrar documentacion?

De antemano, gracias por sus respuestas
#13
Java / Re: [Sockets] Sirven en internet?
2 Diciembre 2011, 22:27 PM
Olvide poner el main, aunque no hace mucho:

Código (java) [Seleccionar]


public class Main {

    public static void main(String[] args) {

     //xserver();
     //xclient();

    }

}



Para probarlo en localhost, primero se conecta como server, luego como client (sacando los respectivos comentarios) y en la linea 22 de XClient el primer argumento es "localhost", esta es mi duda, que debo poner en localhost, por que al hacer ipconfig, me salen un monton de numeros y el amigo que recibio el jar cliente ya no esta conectado Xd (la conexion aqui en mi instituto es ipv6, ¿sera por eso?  ojalá que no :-\)

Saludos!
#14
Pienso que una clase anónima no necesariamente se involucra con la gui, y tampoko necesariamente el codigo se desorganizará that is, my humble opinion, me expongo a un flame  ;D, saludos
#15
PHP / [PHP + JSP] Es posible?
2 Diciembre 2011, 21:19 PM
Hola, estuve leyendo en un libro que se podía mezclar java con php, en el servidor tomcat, dejo el extracto del libro:

Introduccion:

Cita de: (2004) Php 5 And Mysql Bible

The relationship between PHP and Java has changed significantly
with each new release. Unsurprisingly, given the source code, PHP
initially had much more in common with C. PHP4 supported integration
of PHP and Java using a Java Servlet environment or, more experimentally,
directly into PHP. Finally, with the overhaul of the object
model in PHP5, there's a distinctly Java feel to the PHP approach to
object oriented programming. Java users will find much of PHP5's
new object model very familiar, though with important differences.
Given these changes, as PHP takes on a more Java-like cast, there are
two possibilities for which a discussion of PHP and Java might be
pertinent. You might need to work on a project that requires PHP and
Java or Java Server Pages (JSP) to work in tandem. Or you may be
approaching PHP from a Java background and want to know about
the similarities and differences in order to learn PHP faster. We will
deal with both needs in this chapter.
If you don't have a need to use Java, or aren't already


Expolicacion y ejemplo:

Cita de: (2004) Php 5 And Mysql Bible

Java Server Pages and PHP
PHP can fulfill many functions similarly to Java Server Pages (JSP). The JSP servlet engine
serves as a scripting language for use with Java, and, just as PHP, is often used in front end
applications.
Embedded HTML
PHP is more similar to JSP than Java itself in that you are allowed to write HTML directly
rather than using endless print statements. Unlike Java, but like JSP, variables can also be
referenced from within a block of HTML. A simple HTML page using JSP script might look
like this:
<%
String greeting = "Hello, world";
%>
<HTML>
<HEAD>
<TITLE>Fun with JSP</TITLE>
</HEAD>
<BODY>
<H1><%= greeting %></H1>
</BODY>
</HTML>
Similarly, using PHP, you can write:
<?php
$greeting = "Hello, World";
?>
<HTML>
<HEAD>
<TITLE>Fun with PHP</TITLE>
722 Part IV ✦ Connections
</HEAD>
<BODY>
<H1><?php echo $greeting ?></H1>
</BODY>
</HTML>
Pages can freely alternate between HTML and JSP, just as in using HTML and PHP.


De antemano, gracias por sus respuestas.

PD: Tengo el apache tomcat instalado, pero es la instalacion que viene por defecto, sinceramente no se por donde empezar, si alguien quiere el libro que me mande un mp y se lo mando por correo. 1083 paginas, esto de java+php empieza en la 719
#16
Java / [Sockets] Sirven en internet?
2 Diciembre 2011, 21:07 PM
Hola, estuve viendo unos videotutoriales que me paso un amigo, el tipo se llama nikitus y enseña a crear una conexion con sockets, en el video muestra como hacer un pequeño xat, todo el codigo funka, pero me gustaria saber si es posible hacer que funke en internet, traté de poner mi direccion ip en el programa cliente y pasarselo a un amigo, pero no funciono, codeé en base al video, dos clases, un cliente y un server, en localhost corre bien, pero me gustaría saber, si es posible, que debo cambiarle para que funcione en internet, de antemano gracias.

Clase servidor:

Código (java) [Seleccionar]


import java.net.ServerSocket;
import java.net.Socket;
import java.io.ObjectOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import javax.swing.JOptionPane;

public class XServer {

  private ServerSocket ss;
private Socket s;
private ObjectOutputStream oos;
private boolean isRunning=true;
private ObjectInputStream ois;
private volatile Command cmd=null;


    XServer(){

          try{

     ss = new ServerSocket(9999);
     s = ss.accept();
     oos=new ObjectOutputStream(s.getOutputStream());
     ois=new ObjectInputStream(s.getInputStream());

     }catch(IOException ioex){

      ioex.printStackTrace();

     }

this.sender();
this.receiver();
this.dealReceive();
this.autoClose();

    }

    void sender(){

Thread t=new Thread(new Runnable(){

  public void run(){

   while(XServer.this.isRunning){

    int type=0;

    try{

  String msg=JOptionPane.showInputDialog("Mensaje para el Cliente");

   Command c=new Command();

   c.setMsg(msg);

   type=(msg.equalsIgnoreCase("Close"))? 0:1;

   c.setType(type);

   oos.writeObject(c);

  }catch(IOException ex) {

   ex.printStackTrace();

  }

    if(type==0){

     break;

    }

   }

  }

});

t.start();

    }

    void receiver(){

    Thread t=new Thread(new Runnable(){

     public void run(){

      while(XServer.this.isRunning){

        try{

      Thread.sleep(1000);

      Object aux=ois.readObject();

      if(aux!=null && aux instanceof Command){

        XServer.this.cmd = (Command) aux;

      }

     }catch(InterruptedException intex){

      intex.printStackTrace();

     }catch(IOException ioex){

      ioex.printStackTrace();

     }catch(ClassNotFoundException classex){

      classex.printStackTrace();

     }

      }

     }

    });

    t.start();

    }

    void dealReceive(){

     Thread t=new Thread(new Runnable(){

      public void run(){

       while(XServer.this.isRunning){

       try{

        Thread.sleep(1000);

        Command c=XServer.this.cmd;

        if(c.getType().equals("Message")){

         System.out.println(c.getMsg());

        }else if(c.getType().equals("Action") && c.getMsg().equals("Close")){

         XServer.this.isRunning=false;

        }

     }catch(InterruptedException intex){

      intex.printStackTrace();

     }catch(NullPointerException nullex){

     }finally{

       XServer.this.cmd=null;

     }

     }

      }

     });

     t.start();

    }

    void autoClose(){

Thread t=new Thread(new Runnable(){

  public void run(){

   while(true){

    try{

     Thread.sleep(200);

     if(!XServer.this.isRunning){

      XServer.this.ois.close();
      XServer.this.oos.close();
      XServer.this.s.close();

     }

    }catch(InterruptedException intex){

     intex.printStackTrace();

    }catch(IOException ioex){

     ioex.printStackTrace();

    }

   }

  }

});

t.start();

}

}




Clase cliente:

Código (java) [Seleccionar]


import java.net.Socket;
import java.io.ObjectOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import javax.swing.JOptionPane;

public class XClient {

  private Socket s;
private ObjectOutputStream oos;
private boolean isRunning=true;
private ObjectInputStream ois;
private volatile Command cmd=null;


    XClient(){

               try{

     s=new Socket("10.5.4.124", 9999);
     oos=new ObjectOutputStream(s.getOutputStream());
     ois=new ObjectInputStream(s.getInputStream());

     }catch(IOException ioex){

      ioex.printStackTrace();

     }

               this.sender();
               this.receiver();
               this.dealReceive();
               this.autoClose();

    }

    void receiver(){

    Thread t=new Thread(new Runnable(){

     public void run(){

      while(XClient.this.isRunning){

        try{

      Thread.sleep(1000);

      Object aux=ois.readObject();

      if(aux!=null && aux instanceof Command){

        XClient.this.cmd = (Command) aux;

      }

     }catch(InterruptedException intex){

      intex.printStackTrace();

     }catch(IOException ioex){

      ioex.printStackTrace();

     }catch(ClassNotFoundException classex){

      classex.printStackTrace();

     }

      }

     }

    });

    t.start();

    }

        void dealReceive(){

     Thread t=new Thread(new Runnable(){

      public void run(){

       while(XClient.this.isRunning){

       try{

        Thread.sleep(1000);

        Command c=XClient.this.cmd;

        if(c.getType().equals("Message")){

         System.out.println(c.getMsg());

        }else if(c.getType().equals("Action") && c.getMsg().equals("Close")){

         XClient.this.isRunning=false;

        }

     }catch(InterruptedException intex){

      intex.printStackTrace();

     }catch(NullPointerException nullex){

     }finally{

       XClient.this.cmd=null;

     }

     }

      }

     });

     t.start();

    }

void sender(){

Thread t=new Thread(new Runnable(){

  public void run(){

   while(XClient.this.isRunning){

    int type=0;

    try{

  String msg=JOptionPane.showInputDialog("Mensaje para el Server");

   Command c=new Command();

   c.setMsg(msg);

   type=(msg.equalsIgnoreCase("Close"))? 0:1;

   c.setType(type);

   oos.writeObject(c);

  }catch(IOException ex) {

   ex.printStackTrace();

  }

    if(type==0){

     break;

    }

   }

  }

});

t.start();

    }

void autoClose(){

Thread t=new Thread(new Runnable(){

  public void run(){

   while(true){

    try{

     Thread.sleep(200);
     
     if(!XClient.this.isRunning){

      XClient.this.ois.close();
      XClient.this.oos.close();
      XClient.this.s.close();

     }

    }catch(InterruptedException intex){

     intex.printStackTrace();

    }catch(IOException ioex){

     ioex.printStackTrace();

    }

   }

  }

});

t.start();

}

}



Se me olvidaba, para lo que quiero hacer despues de aprender a manipular sockets en internet creé una clase comando, que en el futuro me servirá para mandar solo strings con referencias a lo que se debe hacer y no mandar objetos pesados a traves de la conexion, esta es la clase:

Código (java) [Seleccionar]


import java.io.Serializable;

public class Command implements Serializable{

private String[] types={"Action", "Message", "Dialog", "Input", "Warning", "Error"};
private String[] actions={"Close"};

private String type="";
private String msg="";

    Command(){

     this.type= types[1];

    }

    Command(String msg){

     this.type=this.types[0];
     this.msg=msg;

    }

    Command(String msg, int type){

     this.type=this.types[type];
     this.msg=msg;

    }

public String getMsg() {
  return msg;
}

void setDialog(String msg){

  this.msg=msg;
  this.type=types[2];
 
}

void setInput(String msg){

  this.msg=msg;
  this.type=types[3];

}

void setWarning(String msg){

  this.msg=msg;
  this.type=types[4];

}

void setError(String msg){

  this.msg=msg;
  this.type=types[5];

}

public void setMsg(String msg) {
  this.msg = msg;
}

public void setType(int i){

  this.type=this.types[i];

}

public String getType(){

  return this.type;

}



}





Bueno, de antemano agradezco muchísimo vuestras respuestas, saludos
#17
Java / Re: Creación de Sudokus
2 Diciembre 2011, 03:45 AM
Re-Subido, siento la demora
#18
Puedo aprovechar de preguntar si se puede para mysql y para oracle?  :D
#19
Hola, tengo la siguiente base de datos en mysql:

Código (sql) [Seleccionar]


create database if not exists verduleros;

drop table if exists ventas2;

create table ventas2(

idventa int not null primary key,
vendedor varchar(255) not null,
producto varchar(255) not null,
fecha date not null,
kilos int not null

)engine=innodb;




La consulta que quiero realizar segun el planteamiento es:

"Desplegar la suma de los kilos de cada producto que ha vendido cada vendedor"

Para ello pense en la siguiente consulta:

Código (sql) [Seleccionar]

select v.vendedor, v.producto,
sum(v.kilos)
from ventas2 as v
where v.kilos in
(select kilos from ventas2 where vendedor=v.vendedor and
producto=v.producto)
group by vendedor
;


El problema es que la base de datos es muy grande xD, probé la lógica de esta
consulta en una tabla pequeña y funciona, pero en la base de datos que nos entregó el profe esperé alrededor de unos 20 minutos y no me mostró nada,
lo intenté en reiteradas veces, probé a reiniciar el pc y nada, la base de datos es muy grande por lo tanto no puedo hacer esto con subconsultas (y, pensandolo, si la consulta por si sola se demora, hacer por cada fila una subconsulta es descabellado xD), se los agradecería enormemente si es posible hacer esto de otra forma.

Saludos!
#20
Java / Re: arraylist character to arraylist String
1 Noviembre 2011, 03:40 AM
Es un tipo especial de for, se llama for each, lo que hace es recorrer el arreglo completo

for(tipo_de_dato variable:arreglo){

//codigo

}

Donde variable en cada vuelta tomara un valor de arreglo, hasta llegar al último valor del arreglo, por cierto cualquier cosa a la que le concatenes "" (excepto objetos) se convierte en un String, ejemplo:

char variable='c';

String str=c+"";

String str2+=c;

char c='9';

int b=Integer.parseInt(c+"");

Saludos!