Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100

    [JAVA] Socket tutte porte occupate

    Salve stavo facendo un esercizio sui socket che mi chiede d trovare le porte libere .

    codice:
    import java.net.*;
    
    public class ScannerPorte {
    
       public static void main(String args[ ]) {
    
          for (int i = 1; i < 1024; i++){
             try {
                new DatagramSocket(i);
                System.out.println ("Porta libera"+i);
             } catch (BindException e) {
                System.out.println ("porta già in uso");
             } catch (Exception e) {
                System.out.println (e);
             }
          }
       }
    }
    è testato e funzionante dato che me l ha corretto il prof!

    il bello che se giro con windows mi da effettivamente le porte libere
    ma se giro con ubuntu mi dice che sono tutte occupate le porte
    qual è il problema?
    devo risolverlo dato che per fare il progetto è indicato di lavorare con linux
    df

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Socket tutte porte occupate

    Originariamente inviato da esoni
    ma se giro con ubuntu mi dice che sono tutte occupate le porte
    qual è il problema?
    Le prime 1024 porte sono di norma "privilegiate".

    Da http://en.wikipedia.org/wiki/TCP_ports : The core network services, such as the World-Wide Web, typically use small port numbers, less than 1024. In many Unix-like operating systems superuser privileges are required for creation of these ports
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    100
    perche su windows allora anche tra le prime 1024 posto trovo porte libere ?
    df

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da esoni
    perche su windows allora anche tra le prime 1024 posto trovo porte libere ?
    Evidentemente perchè su Windows, differentemente che su Linux, hai i permessi di amministratore.

    In many Unix-like operating systems superuser privileges are required for creation of these ports
    Prova ad avviare il tuo programma sotto Linux da root.

    PS: E, in futuro, il codice postalo all'interno degli appositi tag CODE, come indicato nel Regolamento interno (punto 6).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.