# serverSocket.accept(); Wecken



## dayaftereh (18. Aug 2008)

Hey

Ich habe mal ne frage und zwar ,wenn ich auf eine SocketAccept warte mit diesem befehl
	
	
	
	





```
serverSocket.accept()
```
 bleibt der thread stehen und schläft.

Meine frage ist jetzt wie kann ich diesen Thread aufwecken und ihn dan zu endelaufen lassen

Hier meine run Methode

```
public class DatenServer extends Thread {
..........
boolean threadStarted = true;

public void run() {		
		Socket tcpSocket = null;
		try {
			ServerSocket serverSocket = new ServerSocket(ip);
			while(isInterrupted()==false && threadStarted){
				tcpSocket = serverSocket.accept();
				connectHandel(tcpSocket);
			}
			if(tcpSocket != null){
				tcpSocket.close();
			}
			if(serverSocket != null){
				serverSocket.close();
			}
			System.out.println("Close");
		} catch (Exception e) {
			if(tcpSocket != null){
				try {
					tcpSocket.close();
				} catch (IOException e1) {					
				e1.printStackTrace();
			}
		}
			e.printStackTrace();
		}		
	}
}
```

Ich Interrup den Thread und setzte threadStarted=false

Nur er hört nicht auf zu waren, muss ich mit notify() starten ???


----------



## Niki (18. Aug 2008)

Setz dem ServerSocket ein Timeout: ServerSocket#setSoTimeout und catch auf SocketTimeoutException.


----------



## dayaftereh (18. Aug 2008)

Hey

Habe das problem einfach gelöst, ich glaube ich stand auf dem Schlauch

einfach mit der close option

 :lol:  :lol:  :lol:  :lol:


----------

