|
Mostrar Mensajes
|
Páginas: 1 [2] 3 4 5
|
13
|
Programación / Java / Re: Aplicación con sockets no funciona en LAN (sólo con localhost)
|
en: 18 Noviembre 2013, 19:12 pm
|
Bastante extraño, y exactamente en donde te lanza esa excepción?
Te recomiendo, que te uses Telnet (si usas Windows no viene instalado por defecto debes agregarlo o si usas linux ya viene integrado). Primero abres el servidor y luego con Telnet, en una maquina ajena donde está el servidor, intentas conectarte. Si esto no funciona es probable que Java esté siendo bloqueado por algún firewall y que esté causándote problemas.
Bueno has esa prueba y nos cuentas!
Gracias por responder. No pone la línea en la que se lanza la excepción. Usando Telnet estoy igual, sólo no establece la conexión ni en la maquina ajena del servidor ni en la propia. Me dice lo siguiente: Microsoft Telnet> open 5000 Conectándose a 5000...No se puede abrir la conexión al host, en puerto 23: Error en la conexión He desactivado tanto el firewall como el antivirus. Ni idea de qué puede tratarse... Gracias y un saludo.
|
|
|
14
|
Programación / Java / Aplicación con sockets no funciona en LAN (sólo con localhost)
|
en: 18 Noviembre 2013, 10:26 am
|
Estoy creando una aplicación cliente-servidor lo más sencilla posible (para luego implementar más cosas), pero estoy teniendo problemas para ejecutarlo en la LAN de mi casa (ya entonces de WAN ni de hablamos, el cual es mi propósito...). Sólo funciona cuando tanto el servidor como el cliente son el mismo localhost, si no, me salta la siguiente excepción: java.net.ConnectException: Connection refused: connect Os dejo los fuentes. Cliente: import java.io.DataInputStream; import java.io.InputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; public class Cliente { //Constantes final int PUERTO = 7000; //final String HOST = "192.168.1.36"; /************/ //Métodos - constructor public Cliente(){ try{ skCliente = new Socket(address, PUERTO ); System. out. println(flujo. readUTF()); skCliente.close(); System. out. println("Error en la conexión." ); } } //Cuerpo del programa public static void main (String[] args ){ new Cliente(); } }
Servidor: import java.io.DataOutputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.net.UnknownHostException; public class Servidor { //Constantes final int MAX_CLIENTES = 5; final int PUERTO = 7000; /************/ //Métodos - constructor public Servidor(){ try { System. out. println("Escucho el puerto: "+PUERTO ); for(int numCli = 0; numCli < MAX_CLIENTES; numCli++){ Socket skCliente = skServidor. accept(); System. out. println("\tSirvo al cliente: "+skCliente. getRemoteSocketAddress()); flujo.writeUTF("\nHola cliente "+ skCliente.getRemoteSocketAddress()); skCliente.close(); } System. out. println("Error en la conexión." ); } // TODO Auto-generated catch block } } public static void main (String[] args ){ new Servidor(); } }
Gracias de antemano y saludos.
|
|
|
16
|
Programación / Java / Re: Dibujar con Graphics encima de un panel con una imagen de fondo
|
en: 14 Noviembre 2013, 20:32 pm
|
Copio y pego el código y me sale el siguiente error de compilación: Exception in thread "main" java.lang.IllegalArgumentException: input == null! at javax.imageio.ImageIO.read(ImageIO.java:1348) at ImageJPanel$PanelOverDraw.<init>(ImageJPanel.java:40) at ImageJPanel.<init>(ImageJPanel.java:25) at ImageJPanel.main(ImageJPanel.java:19) La línea del error es la 24. this.add(new PanelOverDraw());
¿A qué se puede deber? Gracias por tu paciencia y un saludo.
|
|
|
17
|
Programación / Java / Re: Dibujar con Graphics encima de un panel con una imagen de fondo
|
en: 13 Noviembre 2013, 09:04 am
|
Hago uso de BufferedImage y de ImageIO para almacenar la imagen en un buffer y leer la imagen original respectivamente. import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; @SuppressWarnings("serial") public class ImageJPanel extends JFrame { public static void main (String... args) { new ImageJPanel(); } public ImageJPanel() { super("Dibujo sobre imagen"); this.add(new PanelOverDraw()); this.setSize(484,519); this. setDefaultCloseOperation(JFrame. DISPOSE_ON_CLOSE); this.setVisible(true); } public class PanelOverDraw extends JPanel { public PanelOverDraw() { File imageFile = new File("background.jpg"); // guarda la imagen en un archivo try { img = ImageIO.read(getClass().getResourceAsStream(imageFile.toString())); // la carga en una BufferedReader e.printStackTrace(); } this. setPreferredSize(new Dimension(484, 409)); // creamos una instancia graphics desde la imagen para pintar sobre ella pint. setColor(Color. GREEN); pint.fillRect(200,200,100,100); pint.dispose(); } @Override { super.paintComponent(g); g.drawImage(img,0,0,null); // dibuja la imagen al iniciar la aplicacion } } }
Muchísimas gracias, no sabes cuánto me has ayudado. Gracias.
|
|
|
18
|
Programación / Java / Re: Dibujar con Graphics encima de un panel con una imagen de fondo
|
en: 13 Noviembre 2013, 00:23 am
|
Éste es uno de tantos intentos. No está muy limpio; lo he hecho con algo de prisa. Lo dicho arriba, no sé como poner un panel de fondo y luego ver los Graphics encima de éste. El código: import java.awt.Color; import java.awt.Container; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.ImageIcon; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; private final static int ANCHO = 512; private final static int ALTO = 384; private final static int DIAMETRO = 20; private float x, y; private float vx, vy; public Demo1() { setPreferredSize (new Dimension(ANCHO, ALTO )); x = 10; y = 20; vx = 300; vy = 400; } private void fisica(float dt) { x += vx * dt; y += vy * dt; if (vx < 0 && x <= 0 || vx > 0 && x + DIAMETRO >= ANCHO) vx = -vx; if (vy < 0 && y < 0 || vy > 0 && y + DIAMETRO >= ALTO) vy = -vy; } g.fillRect(0, 0, ANCHO, ALTO); g. fillOval(Math. round(x ), Math. round(y ), DIAMETRO, DIAMETRO ); } this.repaint(); } public void cicloPrincipalJuego () throws Exception { float dt = 0.01f; while (true) { fisica(dt); dibuja(); } } jf. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); jf.setResizable(false); Demo1 demo1 = new Demo1(); jf.setContentPane(crearPanel()); jf.pack(); jf.setVisible(true); demo1.cicloPrincipalJuego(); } panel.add(label); return panel; } }
Muchas gracias por vuestra paciencia y saludos.
|
|
|
19
|
Programación / Java / Dibujar con Graphics encima de un panel con una imagen de fondo
|
en: 12 Noviembre 2013, 19:57 pm
|
Buenas, estoy con algo que me lleva trayendo de cabeza desde hace bastante. Mi pregunta es ésa, ¿cómo puedo poner una imagen de fondo, y luego superponer figuras con Graphics? Lo he intentado de mil maneras, a veces no me hace caso, y otras da error en tiempo de ejecución, y no sabría ni qué código poner aquí. He conseguido poner otros componentes como JLabels o JButtons, pero con Graphics no puedo.
Gracias de antemano y saludos.
|
|
|
20
|
Programación / Java / [Duda]Conectarse a "base de datos" en ordenador remoto
|
en: 9 Noviembre 2013, 23:45 pm
|
Hola buenas, os expongo mi problema.
Estoy haciendo un clon del Arkanoid y me gustaría añadirle un sistema de puntuaciones, para hacerlo más atractivo y rejugable. Mi idea es la siguiente: cada partida tendrá asociada un nombre (el que usuario escoja), y éste se guardará, junto con los puntos conseguidos, en un fichero que se guardará en un "servidor". Cuando en el menú del juego se seleccionara la opción de mostrar las puntuaciones, pues se mostraría la información almacenada en el fichero.
Y claro, se supone cualquier ordenador desde el cual se estuviera ejecutando el juego puede ver las puntuaciones del fichero. Antes que nada aclarar que mis conocimientos sobre sockets (en cualquier lenguaje de programación) son nulos. Dicho ésto, mi pregunta es, ¿puede ser viable? No os estoy pidiendo cuál sería el código ni nada por el estilo, evidentemente, sino cuáles serían las directrices a seguir para mi propósito.
Creo que no me dejo nada en el tintero. Muchas gracias de antemano (sobretodo por vuestra paciencia).
|
|
|
|
|
|
|