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
Post a Comment