# Herausfinden ob hinter einem Port bereits ein ServerSocket steckt



## Schandro (14. Mrz 2009)

Hi,

gibt es eine bessere Möglichkeit um herauszufinden, ob ein ServerSocket für den Port bereits geöffnet wurde:

    [highlight=Java]public static boolean existServerUnder(int port) throws UnknownHostException, IOException{
        try{
            new Socket("localhost",port);
        }
        catch(java.net.ConnectException e){
            return false;}

        return true;
    }[/highlight]

Das Problem hierdran ist, das unnötig ein Socket erstellt wird. Außerdem weiß der gegebenfalls bereits existierende ServerSocket nicht, das es kein richtiger Socket sein soll und schickt ihn unnötig Zeug zu.


----------



## HoaX (15. Mrz 2009)

Ohne Socket geht das nicht. Um das Problem mit dem existierenden ServerSocket zu umgehen kannst du auch einfach einen ServerSocket erstellen der auf dem Port versucht zu horchen.


----------



## Schandro (15. Mrz 2009)

ok danke für die Antwort.
Einen ServerSocket unter dem port als Test zu erstellen ist zwar auch nicht so schön, aber wenigstens kann ich ihn dann direkt weiterverwenden falls es noch keinen gibt...^^ Und es umgeht das Problem der unnötig zugeschickten Daten.


----------

