Java - Scanner TCP en JAVA

 
Vista:

Scanner TCP en JAVA

Publicado por Manuel (4 intervenciones) el 10/12/2017 20:43:30
Buenas a todos, he realizado una pequeña aplicación con Netbeans, que realiza un scan TCP un host que especificamos en un formulario. Funciona correctamente pero tarda muchisimo, para analizar un puerto solo tarda un rato bueno de los 1024 que le tengo puestos que escanee. ¿Que estoy haciendo mal?

Os dejo aqui el codigo por si alguien le echa un vistazo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
try {
 
    String host = jTextFielddomain.getText();
 
    InetAddress inetAddress = InetAddress.getByName(host);
 
    String hostName = inetAddress.getHostName();
 
    Socket  socket;
    for (int port = 0; port <= 1024; port++) {
        try {
            socket = new Socket(hostName, port);
            String text = hostName + " is listening on port " + port;
            jTextArea1.append(text +  '\n');
            socket.close();
 
        } catch (IOException e) {
 
        }
    }
} catch (UnknownHostException ex) {
 
}

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 349
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Scanner TCP en JAVA

Publicado por Andrés (340 intervenciones) el 11/12/2017 17:29:18
Prueba creando un Thread al que le pases: host name, port y el JTextArea, en el run del thread coloca el for que tienes e invoca para actualizar el JTextArea un SwingUtilities.invokeLater
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar