thatIsAFeature
Grünschnabel
Hallo
in einer Methode mache ich einen ServerSocket auf.
Die Zeit, die er auf eine Antwort warten soll, soll nicht definiert werden.
Allerdings möchte ich die dem Benutzer die Möglichkeit geben den Server wieder zu schliessen, auch wenn der noch in der serverSocket.accept() Methode hängt.
Wenn ich serverSocket.close() sage schmeißt er eine Exception.
Der Code dazu sieht so aus;
oder kann ich den anonymen Thread irgendwie abschiessen
Dazu müsste das aber so ähnlich aussehen.:
Da bekomme ich aber den Felher: cann-ät convert from void to Thread.
Anscheinend gibt new Thread() void zurück
in einer Methode mache ich einen ServerSocket auf.
Die Zeit, die er auf eine Antwort warten soll, soll nicht definiert werden.
Allerdings möchte ich die dem Benutzer die Möglichkeit geben den Server wieder zu schliessen, auch wenn der noch in der serverSocket.accept() Methode hängt.
Wenn ich serverSocket.close() sage schmeißt er eine Exception.
Der Code dazu sieht so aus;
Code:
new Thread( new Runnable()
{
public void run()
{
try {
serverSocket = new ServerSocket( port );
Socket client = serverSocket.accept();
controller.gui.haveAConnection();
connected = true;
oIS = new ObjectInputStream(client.getInputStream());
oOS = new ObjectOutputStream(client.getOutputStream());
System.err.println("nach accept!!");
InputStream in = (InputStream) client.getInputStream();
OutputStream out = (OutputStream) client.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
}
} ).start();
Dazu müsste das aber so ähnlich aussehen.:
Code:
Thread t = new Thread( new Runnable()
{
public void run()
Anscheinend gibt new Thread() void zurück