Making Java Server to stop after certain time -


i want create java server program stops after 10 seconds.right now, using setsotimeout method. once time expires, catch exception , generate server closing message.

but seems workaround. there better way it?

public class dailyadviceserver { string[] advicelist = {"take smaller bites", "go tight jeans. no not make fat",     "one word: inappropriate", "just today, honest.  tell boss *really* think",      "you might want rethink haircut"};  public void startserver() {     try {         @suppresswarnings("resource")         serversocket serversock = new serversocket(2727);         serversock.setsotimeout(10000);         while (true)         {               socket sock = serversock.accept();             outputstreamwriter streamwriter = new outputstreamwriter(sock.getoutputstream());             bufferedwriter writer=new bufferedwriter(streamwriter);              string advice = getadvice();             writer.write(advice);             writer.close();         }       } catch (sockettimeoutexception ex)     {         system.out.println("the server has shut down.");     }      catch(ioexception ex)     {          ex.printstacktrace();      } }  private string getadvice() {     int random = (int) (math.random() * advicelist.length);     return advicelist[random]; }  public static void main(string[] args) {     dailyadviceserver server = new dailyadviceserver();     server.startserver(); } 

}

you can start timer after creation of serversocket , when timer expires can close it


Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -