# Socket wird nach Portscann geschlossen



## Guest (23. Aug 2004)

Hallo,

ich öffne eine Socket-Verbindung folgendermaßen:


```
try{
			ServerSocket server = new ServerSocket(5555);						
			while (true)
			{
				Socket client = server.accept();
				BufferedReader in = new BufferedReader(new InputStreamReader( client.getInputStream()) );
				PrintWriter out = new PrintWriter(client.getOutputStream(), true );
				int result = new Integer(in.readLine()).intValue(); 				
				System.out.println("Empfangene Jobid: "+result);								
			}
		
	}catch (Exception ex){System.out.println("Fehler beim Aufbau der Socketverbindung");}
```

Mache ich jetzt einen Portscann z.B. mit nmap, wird der Socket geschlossen. Kann mir jemand sagen, woran das liegt und und wie ich den Socket stabiler programmieren kann?


----------



## foobar (23. Aug 2004)

Bau doch einfach einen neuen Socket, sobald die Verbindung geschlossen wurde. 

```
import java.io.*;
import java.net.*;

public class MySocket
{
	public MySocket()
	{
		this.initSocket();
	}
	
	private void initSocket()
	{
		Socket client 			   	   = null;
		ServerSocket server 	   = null;
		try
		{
			server 					   = new ServerSocket(5555);
			while (true)
			{
				client 		  			  = server.accept();
				BufferedReader in = new BufferedReader(new InputStreamReader( client.getInputStream()) );
				PrintWriter out 	  = new PrintWriter(client.getOutputStream(), true );
				int result 			  = new Integer(in.readLine()).intValue();
			}
	   }
	   catch (IOException ex)
	   {
			if (ex.getMessage().equals("Connection reset"))
			{
				try
				{
					client.close();
					server.close();
				}
				catch (IOException e)
				{
					e.printStackTrace();
				}
				this.initSocket();
			}
			System.out.println("Fehler beim Aufbau der Socketverbindung");
	   }
	}
	
	public static void main(String[] args)
	{
		new MySocket();
	}
}
```


----------



## Guest (23. Aug 2004)

danke, funktioniert!


----------

