Título: Obtener IP con hostname
Publicado por: GSecurity en 21 Marzo 2020, 21:38 pm
Hola Gente,
Estoy desarrollando un proyecto de sockets para lo cual necesito validar la IP de una pc a traves del hostname el cual lo ingresare en un textfield.
Gracias
Título: Re: Obtener IP con hostname
Publicado por: rub'n en 21 Marzo 2020, 23:38 pm
Hola Gente,
Estoy desarrollando un proyecto de sockets para lo cual necesito validar la IP de una pc a traves del hostname el cual lo ingresare en un textfield.
Gracias
La linea 62 contiene la magia solo para ipv4 :xD , este ejemplo te sirve para el anterior, y veas como se puede crear un JFrame.(50mil maneras diferentes las hay)
package foro; import javax.swing.*; import java.awt.*; import java.net.Inet4Address; import java.net.UnknownHostException; import java.util.function.Predicate; /** * https://foro.elhacker.net/java/obtener_ip_con_hostname-t503433.0.html * @autor rubn */ public class ValidarIp extends JFrame { private final JLabel jLabelTitulo = new JLabel("Introduce un direccion ip"); private static final String ESPACIOS = "\\s+"; public ValidarIp() { super("Validar Ip"); configureLayouts(); configureJFrame(); } private void configureJFrame() { add(mainJPanel); pack(); setLocationRelativeTo(null); setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); setVisible(true); } private void configureLayouts() { mainJPanel. setBorder(BorderFactory. createEmptyBorder(10, 10, 10, 10)); mainJPanel. add(Box. createVerticalStrut(20)); mainJPanel. add(Box. createVerticalStrut(20)); listenerJTextField(); } /** * Listener del JTextField */ private void listenerJTextField() { jTextField.addActionListener(e -> { final String ip = jTextField. getText(). replaceAll(ESPACIOS, ""); final Predicate<String> predicate = p -> { try { return Inet4Address.getByName(ip).getHostAddress().equals(ip); } }; if (predicate.test(ip)) { } else { } }); } public static void main (String ... blabla) { new Thread(ValidarIp ::new). start(); } }
Título: Re: Obtener IP con hostname
Publicado por: GSecurity en 3 Abril 2020, 08:45 am
La linea 62 contiene la magia solo para ipv4 :xD , este ejemplo te sirve para el anterior, y veas como se puede crear un JFrame.(50mil maneras diferentes las hay)
package foro; import javax.swing.*; import java.awt.*; import java.net.Inet4Address; import java.net.UnknownHostException; import java.util.function.Predicate; /** * https://foro.elhacker.net/java/obtener_ip_con_hostname-t503433.0.html * @autor rubn */ public class ValidarIp extends JFrame { private final JLabel jLabelTitulo = new JLabel("Introduce un direccion ip"); private static final String ESPACIOS = "\\s+"; public ValidarIp() { super("Validar Ip"); configureLayouts(); configureJFrame(); } private void configureJFrame() { add(mainJPanel); pack(); setLocationRelativeTo(null); setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); setVisible(true); } private void configureLayouts() { mainJPanel. setBorder(BorderFactory. createEmptyBorder(10, 10, 10, 10)); mainJPanel. add(Box. createVerticalStrut(20)); mainJPanel. add(Box. createVerticalStrut(20)); listenerJTextField(); } /** * Listener del JTextField */ private void listenerJTextField() { jTextField.addActionListener(e -> { final String ip = jTextField. getText(). replaceAll(ESPACIOS, ""); final Predicate<String> predicate = p -> { try { return Inet4Address.getByName(ip).getHostAddress().equals(ip); } }; if (predicate.test(ip)) { } else { } }); } public static void main (String ... blabla) { new Thread(ValidarIp ::new). start(); } }
Hasta ahora no llego al nivel para utilizar Predicates :xD . Gracias por tu ayuda amigo, sin embargo lo que en realidad necesito es que desde una caja de texto se ingrese el Hostname y con un boton "check" se obtena la ip de este hostname. Gracias de ante mano :laugh:
Título: Re: Obtener IP con hostname
Publicado por: rub'n en 3 Abril 2020, 17:23 pm
Hasta ahora no llego al nivel para utilizar Predicates :xD . Gracias por tu ayuda amigo, sin embargo lo que en realidad necesito es que desde una caja de texto se ingrese el Hostname y con un boton "check" se obtena la ip de este hostname.
Gracias de ante mano :laugh:
Hasta un bebe puede usar un Predicate no tiene nada que ver.
Son nuevas tareas extra curriculares, debes añadir un JButton al código
/** * https://foro.elhacker.net/java/obtener_ip_con_hostname-t503433.0.html * @autor rubn */ public class ValidarIp extends JFrame { private final JLabel jLabelTitulo = new JLabel("Introduce un direccion ip"); private static final String ESPACIOS = "\\s+"; public ValidarIp() { super("Validar Ip"); configureLayouts(); configureJFrame(); } private void configureJFrame() { add(mainJPanel); pack(); setLocationRelativeTo(null); setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); getRootPane().setDefaultButton(btnCheck); btnCheck.setBorderPainted(false); btnCheck.setFocusPainted(false); btnCheck.requestFocus(); setVisible(true); } private void configureLayouts() { mainJPanel. setBorder(BorderFactory. createEmptyBorder(10, 10, 10, 10)); jPanelLabel.add(jLabelTitulo); mainJPanel.add(jPanelLabel); mainJPanel. add(Box. createVerticalStrut(10)); mainJPanel. add(Box. createVerticalStrut(10)); //row boton y JLabel row.add(btnCheck); row. add(row. add(Box. createHorizontalStrut(20))); row.add(jLabelIpResult); mainJPanel.add(row); checkiarIp(); } /** * Listener del JButton */ private void checkiarIp() { btnCheck.addActionListener(e -> { final String ip = jTextField. getText(). replaceAll(ESPACIOS, ""); final Predicate<String> predicate = p -> { try { return Inet4Address.getByName(ip).getHostAddress().equals(ip); } }; if (predicate.test(ip)) { jLabelIpResult.setText(""); jLabelIpResult.setText("Ip: " + ip); } else { } }); } public static void main (String ... blabla) { new Thread(ValidarIp ::new). start(); } }
(http://4.bp.blogspot.com/-NGltnBF_x_k/Xode4LcCwaI/AAAAAAAAFZQ/tozQv5CsINM3B98xafj0dTyBU-cvOTJoQCK4BGAYYCw/s400/ipvalida.png)
|