解决方案 »
- itext 生成PDF文件中加入折线统计图
- 依旧是jasperreports 问题,iReport title段的内容为什么要占用正一页?$F,$P{},V{}的字段如何在java里面给它们赋值?
- 如何监听UDP端口(100分)速战速决,谢谢大家啦
- 高分求混淆器及用法说明
- 高分(100)求助 struts 总题
- 如何做一个主窗体和子窗体?
- 请教:打印一个对象的时候,系统都在做什么呢?
- 抽象类问题请教!
- jdom中的Element是表示节点的意思吗?Element和node有什么不同亚
- 谁能说说cocoon的应用
- 这个还真需要高手,Spring3.0 和 Ibatis2.3.4 事务控制问题。
- 问:怎么用java以树形来显示出一个table(菜单?)
也就是捕捉这个异常,然后以这个异常为信号退出循环,就不会成为问题了。
你在程序里虽然捕捉了异常,但只是打印了一些信息,等于什么也没做,这就不行了。
也就是说,没有客户端的Socket连接过来,该方法不会返回,后面代码无法运行下去。
当没有客户端连接过来的时候,无论serverStart变量是true还是false,效果都一样,
因为accept方法根本就没有返回。想要程序继续运行下去,只能模拟个客户端连接过来才可以。
如果这时候强行关闭ServerSocket当然要抛出异常了,
因为,这种操作本身就不符合逻辑。
你想啊,ServerSocket本身正在监听端口,你却强行关闭套接字,
就好比,你饭还没吃完呢,就被赶出饭馆,一个样。如果不想这种情况发生,要么,模拟个客户端上来,使accept方法返回;
要么,采用非阻塞模式的编程方法。最后,编程当然的异常,在固定的某个编程模式当中,几乎是不可避免的,
我们要做的,其实是,怎样更好的处理这些异常,使得程序更加健壮、完美。