Tenho uma porta padrão no servidor e ao receber uma conexão é preciso redirecionar esse cliente para uma outra porta no servidor para liberar a porta padrão.
Como posso fazer o redirecionamento da maneira mais simples e eficiente?
Atualmente respondo a primeira conexão com o número da porta que desejo redirecionar então abro a porta para a conexão novamente:
[code]
Socket serverSocket = dataService.accept();
OutputStreamWriter out = new OutputStreamWriter(serverSocket.getOutputStream());
out.write(actualyUsablePort);
ServerSocket usableSocketService = new ServerSocket(actualyUsablePort++);
Socket usableSocket = usableSocketService.accept();
if (usableSocket.getInetAddress() != serverSocket.getInetAddress())
throw new Exception("Unexpected connection");
serverSocket.close();
interpretMessage(usableSocket);[/code]