我要作一个东西,要求实现以下功能:1:开socket server供别人连接并发送数据2:这个socket server要能通过页面看到它的运行状态,是启动还是停止3:要能通过页面点击按钮实现停止这个服务,或启动这个服务 
我的思路如下:1:在Server的实现类中使用单例模式,实现receive方法,在此方法中实现接收数据2:新增一线程类实现Runnable接口,在run中调用Server实现类的receive方法3:在Server的实现类中实现start和stop方法,其中start方法用于开新线程并start线程,stop方法用于调用 线程对象的interrupt()实现停止功能。
诸位高手请看一下,这种思路有没有什么问题?多谢 !

解决方案 »

  1.   

    有问题1.你的运行状态如何查询到呢?不如Server就是一个Thread,使用单例,在run里面使用ServerSocket.accpet()的时候会阻塞增加start和stop方法start方法逻辑,判断instance.isAlive(),如果存活,则返回,否则instance.start();stop方法直接interrupt()查询状态直接可以使用Server.getInstance().isAlive()
      

  2.   

    我的运行状态用一stastic的标志位来判断,start时置1,stop时置0,查询时看标志位就行了我最终的实现和你说的一致,感谢!