elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10
1  Programación / Java / Re: Duda sobre un array en java en: 14 Julio 2015, 10:52 am
A ver, imagino que la condición del bucle la entiendes, vayamos a el if:

cumplirá la condición si el contador del bucle es menor o igual a el tamaño del bucle - 1, si se cumple sumará en el primer caso 1 + 2 = 3, 2 + 3 = 5, 3 + 4 = 7 y 4 + 5 = 9.

Un saludo.
2  Programación / Java / Re: JavaFX, conexión por socket en: 25 Junio 2015, 18:54 pm
Bueno, me respondo en otro post, no se si será el método mas correcto pero aquí lo dejo por si a alguien le interesa.

Código
  1. package app.view;
  2.  
  3. import org.controlsfx.dialog.Dialogs;
  4.  
  5. import app.client.Client;
  6. import javafx.fxml.FXML;
  7. import javafx.scene.control.TextField;
  8. import javafx.stage.Stage;
  9.  
  10. public class NewServerController
  11. {
  12. @FXML
  13. private TextField hostnameIpTextField;
  14. @FXML
  15. private TextField puertoTextField;
  16. @FXML
  17. private TextField userTextField;
  18. @FXML
  19. private TextField passwordTextField;
  20. @FXML
  21. private TextField nameTextField;
  22.  
  23. private Stage stage;
  24. private boolean okClicked = false;
  25.  
  26. public void setDialogStage(Stage stage)
  27. {
  28. this.stage = stage;
  29. }
  30.  
  31. public boolean isOkCliked()
  32. {
  33. return okClicked;
  34. }
  35.  
  36. private boolean isInputValid()
  37. {
  38. String errorMessage = "";
  39.  
  40. if(hostnameIpTextField.getText() == null
  41. || hostnameIpTextField.getText().length() == 0)
  42. errorMessage += "Hostname/Ip no válido!\n";
  43. if(puertoTextField.getText() == null
  44. || puertoTextField.getText().length() == 0
  45. || Integer.parseInt(puertoTextField.getText()) < 0
  46. || Integer.parseInt(puertoTextField.getText()) > 65535)
  47. errorMessage += "Puerto no válido!\n";
  48. if(errorMessage.length() == 0)
  49. {
  50. return true;
  51. } else
  52. {
  53. Dialogs.create()
  54.            .title("Campos inválidos")
  55.            .masthead("Por favor, corrige los campos no válidos")
  56.            .message(errorMessage)
  57.            .showError();
  58.        return false;
  59. }
  60. }
  61.  
  62. @FXML
  63. private void handleConectar() throws InterruptedException
  64. {
  65. if(isInputValid())
  66. {
  67. Client client = new Client(hostnameIpTextField.getText(), Integer.parseInt(puertoTextField.getText()));
  68. client.start();
  69. client.join();
  70. boolean ok = client.getOk();
  71. if(ok)
  72. {
  73. System.out.println("Conexion exitosa, cierro modal...");
  74. okClicked = true;
  75. stage.close();
  76. }  else
  77. {
  78. System.out.println("Conexion fallida...");
  79. }
  80.  
  81. }
  82. }
  83.  
  84. @FXML
  85. private void handleCancelar()
  86. {
  87. stage.close();
  88. }
  89.  
  90. }
  91.  

Código
  1. package app.client;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.net.Socket;
  6. import java.net.UnknownHostException;
  7.  
  8. public class Client extends Thread
  9. {
  10.  
  11. private String hostname;
  12. private int puerto;
  13. private Socket socket;
  14. private DataOutputStream mensaje;
  15. private DataInputStream entrada;
  16. private boolean ok = false;
  17.  
  18. public Client(String hostname, int puerto)
  19. {
  20. this.hostname = hostname;
  21. this.puerto = puerto;
  22. }
  23.  
  24. public boolean getOk()
  25. {
  26. return ok;
  27. }
  28.  
  29. public boolean InitClient()
  30. {
  31. try
  32. {
  33. socket = new Socket(hostname, puerto);
  34. entrada = new DataInputStream(socket.getInputStream());
  35. mensaje = new DataOutputStream(socket.getOutputStream());
  36. System.out.println(entrada.readUTF());
  37. mensaje.writeUTF("Hola que tal!");
  38. System.out.println(entrada.readUTF());
  39. socket.close();
  40. {
  41. e.printStackTrace();
  42. return false;
  43. } catch(Exception e)
  44. {
  45. e.printStackTrace();
  46. return false;
  47. }
  48. return true;
  49. }
  50.  
  51. public synchronized void run()
  52. {
  53. System.out.println("Inicio Thread");
  54. ok = InitClient();
  55. System.out.println("Conexion finalizada, notifico a thread principal");
  56. notifyAll();
  57. System.out.println("Notificado a thread");
  58. }
  59.  
  60. }
  61.  

Me sigue congelando la screen, pero al menos me espera a tener la respuesta afirmativa del thread del socket.

Un saludo y agradecería me comentarais si hay alguna forma mejor.
3  Programación / Java / JavaFX, conexión por socket en: 25 Junio 2015, 13:05 pm
Buenas a todos gente.

Tengo una preguntilla respecto a este tema, como podria hacer para tener una gui y que a la hora de conectar con el servidor no se me congelase la interface, pongo el código hasdta ahora:

Código
  1. package app;
  2.  
  3. import java.io.IOException;
  4.  
  5. import app.view.NewServerController;
  6. import app.view.RootController;
  7. import javafx.application.Application;
  8. import javafx.fxml.FXMLLoader;
  9. import javafx.scene.Scene;
  10. import javafx.scene.layout.BorderPane;
  11. import javafx.stage.Modality;
  12. import javafx.stage.Stage;
  13.  
  14.  
  15. public class Main extends Application
  16. {
  17.  
  18. private Stage stage;
  19. private BorderPane rootLayout;
  20.  
  21. public static void main(String[] args)
  22. {
  23. launch(args);
  24. }
  25.  
  26. @Override
  27. public void start(Stage stage) throws Exception
  28. {
  29. this.stage = stage;
  30. this.stage.setTitle("Fenrir");
  31.  
  32. initRootLayout();
  33. }
  34.  
  35. public void initRootLayout()
  36. {
  37. try
  38. {
  39. FXMLLoader loader = new FXMLLoader();
  40. loader.setLocation(Main.class.getResource("view/Root.fxml"));
  41. rootLayout = (BorderPane) loader.load();
  42.  
  43. RootController controller = loader.getController();
  44. controller.setMain(this);
  45.  
  46. Scene scene = new Scene(rootLayout);
  47. stage.setScene(scene);
  48. stage.show();
  49. } catch(IOException e)
  50. {
  51. e.printStackTrace();
  52. }
  53. }
  54.  
  55. public boolean showNewServerDialog()
  56. {
  57. try
  58. {
  59. FXMLLoader loader = new FXMLLoader();
  60. loader.setLocation(Main.class.getResource("view/NewServer.fxml"));
  61. BorderPane page = (BorderPane) loader.load();
  62.  
  63. Stage stage = new Stage();
  64. stage.setTitle("Conectar a servidor");
  65. stage.initModality(Modality.WINDOW_MODAL);
  66. stage.initOwner(this.stage);
  67. Scene scene = new Scene(page);
  68. stage.setResizable(false);
  69. stage.setScene(scene);
  70.  
  71. NewServerController controller = loader.getController();
  72. controller.setDialogStage(stage);
  73.  
  74. stage.showAndWait();
  75.  
  76. return controller.isOkCliked();
  77. } catch(IOException e)
  78. {
  79. e.printStackTrace();
  80. return false;
  81. }
  82. }
  83.  
  84. }
  85.  

Código
  1. package app.client;
  2.  
  3. import java.io.DataInputStream;
  4. import java.io.DataOutputStream;
  5. import java.net.Socket;
  6. import java.net.UnknownHostException;
  7.  
  8. public class Client
  9. {
  10.  
  11. private String hostname;
  12. private int puerto;
  13. Socket socket;
  14. DataInputStream entrada;
  15.  
  16. public Client(String hostname, int puerto)
  17. {
  18. this.hostname = hostname;
  19. this.puerto = puerto;
  20. }
  21.  
  22. public boolean InitClient()
  23. {
  24. try
  25. {
  26. socket = new Socket(hostname, puerto);
  27. entrada = new DataInputStream(socket.getInputStream());
  28. mensaje = new DataOutputStream(socket.getOutputStream());
  29. System.out.println(entrada.readUTF());
  30. mensaje.writeUTF("Hola que tal!");
  31. System.out.println(entrada.readUTF());
  32. socket.close();
  33. {
  34. e.printStackTrace();
  35. return false;
  36. } catch(Exception e)
  37. {
  38. e.printStackTrace();
  39. return false;
  40. }
  41. return true;
  42. }
  43.  
  44. }
  45.  

Código
  1. package app.view;
  2.  
  3. import org.controlsfx.dialog.Dialogs;
  4.  
  5. import app.client.Client;
  6. import javafx.fxml.FXML;
  7. import javafx.scene.control.TextField;
  8. import javafx.stage.Stage;
  9.  
  10. public class NewServerController
  11. {
  12. @FXML
  13. private TextField hostnameIpTextField;
  14. @FXML
  15. private TextField puertoTextField;
  16. @FXML
  17. private TextField userTextField;
  18. @FXML
  19. private TextField passwordTextField;
  20. @FXML
  21. private TextField nameTextField;
  22.  
  23. private Stage stage;
  24. private boolean okClicked = false;
  25.  
  26. public void setDialogStage(Stage stage)
  27. {
  28. this.stage = stage;
  29. }
  30.  
  31. public boolean isOkCliked()
  32. {
  33. return okClicked;
  34. }
  35.  
  36. private boolean isInputValid()
  37. {
  38. String errorMessage = "";
  39.  
  40. if(hostnameIpTextField.getText() == null
  41. || hostnameIpTextField.getText().length() == 0)
  42. errorMessage += "Hostname/Ip no válido!\n";
  43. if(puertoTextField.getText() == null
  44. || puertoTextField.getText().length() == 0
  45. || Integer.parseInt(puertoTextField.getText()) < 0
  46. || Integer.parseInt(puertoTextField.getText()) > 65535)
  47. errorMessage += "Puerto no válido!\n";
  48. if(errorMessage.length() == 0)
  49. {
  50. return true;
  51. } else
  52. {
  53. Dialogs.create()
  54.            .title("Campos inválidos")
  55.            .masthead("Por favor, corrige los campos no válidos")
  56.            .message(errorMessage)
  57.            .showError();
  58.        return false;
  59. }
  60. }
  61.  
  62. @FXML
  63. private void handleConectar() throws InterruptedException
  64. {
  65. if(isInputValid())
  66. {
  67. Client client = new Client(hostnameIpTextField.getText(), Integer.parseInt(puertoTextField.getText()));
  68. boolean connected = client.InitClient();
  69. if(connected)
  70. {
  71. okClicked = true;
  72. stage.close();
  73. }
  74. }
  75. }
  76.  
  77. @FXML
  78. private void handleCancelar()
  79. {
  80. stage.close();
  81. }
  82.  
  83. }
  84.  

Código
  1. package app.view;
  2.  
  3. import javafx.fxml.FXML;
  4. import app.Main;
  5.  
  6. public class RootController
  7. {
  8.  
  9. private Main main;
  10.  
  11. public void setMain(Main main)
  12. {
  13. this.main = main;
  14. }
  15.  
  16. @FXML
  17. private void handleNewServer()
  18. {
  19. boolean okClicked = main.showNewServerDialog();
  20. }
  21.  
  22. }
  23.  

Imagino que se hará la ejecución de la conexión del socket en un thread a parte, pero no me acaba de quedar claro como haría la trata de errores en el thread.

La idea que tenia era que en cuanto le de a conectar, me abra el socket en un thread separado para que la interface no se congele y en cuanto se conecte correctamente  (o no) avise al thread principal para que actue en consecuencia.

Un saludo y gracias de antemano.
4  Programación / Desarrollo Web / Re: Cargar web en diálogo en: 17 Junio 2015, 01:51 am
Bueno, buscando una de las soluciones es c# con el plugin WebKit.net por si a alguien le sirve, este plugin nos proporciona una navegador con la base de Chrome, dejando atrás internet explorer.

Un saludo y espero alternativas.
5  Programación / Desarrollo Web / Cargar web en diálogo en: 17 Junio 2015, 00:28 am
Buenas a todos,

tengo una dudilla sobre una aplicación web que vi hace un tiempo en la que llevaban acabo una acción que ahora quiero replicar.

La aplicación era de gestión de un centro pero lo que realmente me interesa era que mediante un exe, abrían una especie de diálogo a través de chrome, este diálogo no tenia ni barra ni nada solo se veía lo web y la típica X de cerrar.

Me gustaría saber como hacían esto o si hay alguna alternativa.

Un saludo y gracias de antemano.
6  Programación / Desarrollo Web / Hostings warez, se comen? en: 11 Mayo 2015, 20:25 pm
Buenas gente, he estado leyendo sobre el tema pero no me acaba de quedar claro.

Tengo dos preguntas clave:

1)

Bien empiezo desde el comienzo.

Hoy en día para tener contenido ilegal protegido por copyright o no (las web pornográficas son un ejemplo), digamos mejor que para tener contenido sensible un hosting normal no sirve ya que la mayoría tienen ciertos términos que prohíben dicho contenido.

Bien me he puesto a indagar y por lo visto la alternativa a estos hostings, son los warez, hostings que tienen una política de privacidad en la que protegen al cliente (de la DMCA en general).

Según he estado leyendo recomiendan hostings de holanda suiza o de los países del este.

Hasta aquí todo claro, pero lo que no acabo de entender es como alojar los archivos, supongamos, si quisiera hacer una web de leer cómics online, por decir algo. Que sería lo recomendable, contratar un hosting warez para alojar la web y luego aparte otro para alojar los ficheros?

Ya que estoy me gustaría saber que servidores warez recomiendan.

2)

Si una persona tuviese ya su web montada y quisiese hacerla rentable con una api de publicidad, como lo haría?, la mayoría de apis en sus términos dicen explícitamente que no puedes utilizarla en webs de contenido protegido por copyright.

Si hay alguna api de publicidad que no tenga éste requisito me gustaría saber de ella.

Un saludo y gracias de antemano.
7  Programación / Desarrollo Web / Re: Scraping legal, pero hasta que punto en: 7 Marzo 2015, 19:36 pm
Madre de dios, ésto si es eficacia, la próxima vez te cronometro engel, muchas gracias.
8  Programación / Desarrollo Web / Re: Scraping legal, pero hasta que punto en: 7 Marzo 2015, 19:31 pm
Tienes razón, me he liado un poco.

Resumiendo:

Si yo hago scraping a esta página por ejemplo http://www.coolmod.com/index.php para obtener sus productos, categorías, precios, etc y luego esta info la pongo en mi página con el objetivo de hacer un comparador de precios con otras páginas, ésta práctica es ilegal? Porqué en todas ellas me pone explícitamente que lo tengo "prohibido".

Un saludo y grácias de antemano

PD: En mi caso soy de España
9  Programación / Desarrollo Web / Scraping legal, pero hasta que punto en: 6 Marzo 2015, 11:22 am
Buenas gente, un placer estar de nuevo por aquí.

He estado leyendo acerca del Web Scraping los últimos días y he encontrado opiniones dispares sobre si es una práctica legal o no (dejando de lado la ética de la misma).

Algunos dicen que si es legal pero..., me explico, por lo visto si la información que se extrae esta sujeta a "creative commons" y tu la coges sin permiso del autor para ganar algún tipo de beneficio económico por ejemplo publicándola en tu web sería ilegal siempre y cuando el autor diga explícitamente que no puedes hacerlo.

Otro ejemplo sería si a causa de este scraping se genera una denegación de servicio o cualquier mal funcionamiento en los servidores de la web.

Pues bien, después de escribir esto que no se si tiene o no sentido, me gustaría saber si alguien está puesto en el tema.

Os expongo mi duda, si una persona tiene X contenido, por ejemplo una web de compra online, y yo por scraping extraigo los precios productos y demás para publicarlo en mi web con el objetivo de hacer un comparador con otras webs de la misma índole, ésto sería ilegal si la web la publico para el uso de otra gente?

Os muestro un ejemplo real:

LINK: http://www.pccomponentes.com/avisolegal.html

Citar
Propiedad Intelectual e Industrial
Todos los signos distintivos, marcas, nombres comerciales, contenidos, estructura, diseño y forma de presentación de los elementos y cualquier otra información que aparezca en este sitio Web son propiedad de PCCOMPONENTES por sí o como cesionaria y están protegidos por los derechos de propiedad industrial e intelectual.
El usuario tiene prohibida la reproducción, transformación, distribución, comunicación pública y, en general cualquier otra forma de explotación de los elementos referidos en el apartado anterior sin autorización expresa de PCCOMPONENTES.
El usuario se abstendrá de emplear medios que puedan suprimir, alterar, eludir o manipular cualesquiera dispositivos de protección o sistemas de seguridad que puedan estar instalados y que comporten un riesgo o daño o inutilización del sitio Web y/o sus contenidos.
PCCOMPONENTES no se responsabiliza del posible uso inapropiado que terceros realicen de esta página Web, ni de la información que a través de ella transmitan a terceros. El uso de los contenidos que pueda hacer el usuario y las eventuales consecuencias, daños o perjuicios que pudiesen derivarse, son de la exclusiva responsabilidad del usuario. PCCOMPONENTES se excluye por los daños y perjuicios de toda naturaleza causados a los usuarios por el uso de enlaces (links), directorios y herramientas de búsqueda, que permiten a los usuarios acceder a sitios Web pertenecientes y/o gestionados por terceros así como de la presencia de virus u otros códigos maliciosos en los contenidos que puedan producir cualquier tipo de daños en el sistema informático, documentos electrónicos o ficheros de los usuarios. PCCOMPONENTES se reserva el derecho de ejercitar las acciones legales que considere oportunas derivadas de cualesquiera usos ilícitos por parte de terceros de los contenidos de su página web.

En éste caso, la web expone claramente que está prohibido hacer scraping de ella, o vamos eso entiendo yo, pero ésto es tan sencillo?, es decir yo tengo una web cualquiera y solo con poner que no puedes coger datos de ella ya es imposible legalmente hacerlo? no tienen que sacar ningún tipo de licencia de "creative commons"?

Perdón por preguntar tanto pero es que me quiero informar mucho sobre éste tema.

Un saludo y gracias de antemano.
10  Programación / PHP / Re: PHP, Curl y facebook en: 5 Marzo 2015, 06:57 am
Muchas gracias por responder tan rápido cuando llegue a casa lo probaré todo y ya comento.

Un saludo.
Páginas: [1] 2 3 4 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines