java - How to code retry policy for port in server side to listen client request? -


i writing http web server code. in mean while have code retry policy on using port, on port server can listen client's request.

normal code:

serversocket = new serversocket(serversettings.port); 

it throws exception, if serversettings.port not free.

now, want add retry policy, if serversettings.port not free, try other ports. write 1 code, , code s follows,

updated code:

   try {             serversocket = new serversocket(serversettings.port);         } catch (ioexception io) {             try {                 serversettings.port += 505;                 serversocket = new serversocket(serversettings.port);             } catch (ioexception io1) {                 try {                     serversettings.port += 505;                     serversocket = new serversocket(serversettings.port);                 } catch (ioexception io2) {                     log.info(new date() + "problem occurs in binding port");                 }             }         } 

but above 1 shows poor coding skills, , not professional one.

how can write retry policy ports in professional way, server can listen on port?

logically, think work (correct me if there syntax typos):

serversocket serversocket;  boolean foundport = false;  while (!foundport) {      try {           serversocket = new serversocket(serversettings.port); // if fails, jump `catch` block, without executing next line           foundport = true;      }      catch (ioexception io) {           serversettings.port += 505;      } } 

you wrap in function, , instead of foundport = true;, return socket object.


Comments