# Address already in use: JVM_Bind



## precoc (11. Okt 2012)

Hi,
ich habe ein kleines Script geschrieben das die den InputStream wieder als OutPut Stream zurück senden soll, dies klappt allerdings nur einmal ! danach heißt es "Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind" .. vielleicht könnt ihr mir ja weiter helfen
Das ist der Code 

```
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class StringServer {
    private final ServerSocket server;
    
    //Der Konstruktor erstellt einen neuen Server Socket 
    public StringServer(int port) throws IOException {
        server = new ServerSocket(port);
    }
    
    //Hier Verbindet sich das Programm in einer Endlosschleife mit dem Socket
    private void verbinde() {

        while (true) {
            Socket socket = null;
            try {
                socket = server.accept();
                reinRaus(socket);
                
            }

            catch (IOException e) {
                e.printStackTrace();
                
            }
        }
    }

    private void reinRaus(Socket socket) throws IOException {
        BufferedReader rein = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        PrintStream raus = new PrintStream(socket.getOutputStream());
        String s;
        
        while(rein.ready()) {
            s = rein.readLine();
            raus.println(s);
        }
    }

    public static void main(String[] args) throws IOException {
        StringServer server = new StringServer(3156);
        server.verbinde();
    }
}
```
! 
Ich würde mich freuen wenn Ihr mir helfen könntet!


----------



## maki (11. Okt 2012)

Der erste Prozess läuft noch und belegt den Port, wegen deiner Endlosschleife.


----------



## precoc (11. Okt 2012)

kom ich denn da irgendwie raus aus der endlosschleife? Oder besser gesagt, kann ich das irgendwie anders lösen?


----------



## schlingel (11. Okt 2012)

Du musst den Socket wieder schließen am Schluss von reinRaus.


----------



## precoc (12. Okt 2012)

Jo hat funktioniert danke!


----------

