soclet.setSoTimeout(10000)
我现在对这个超时有的模糊,大家帮我解开下,看下面代码:soclet.setSoTimeout(10000);while(1)
{}
..........我想利用这个超时结束while循环,行吗?好象不行,哪个这个超时是怎么吵的
我现在对这个超时有的模糊,大家帮我解开下,看下面代码:soclet.setSoTimeout(10000);while(1)
{}
..........我想利用这个超时结束while循环,行吗?好象不行,哪个这个超时是怎么吵的
解决方案 »
- 关于异常的问题,大家进来说说
- java方向问题
- 大家救俺!!!!!!!!!java字符串插入access数据库??????????
- 如何把jsp中的pageContext传到javaBean中
- JAVA Socket 多线程
- 500分 - 欢迎高手 - 代码效率问题,如果是高手,100不够,可以给500分
- 誰有java混淆器jade或joc,高分相送!!!!!!
- 关于线程问题,我的理解有误。请大家注意。
- 为什么我用 JDBC:ORACLE:OCI8时,出现ora06401:netcmn:无效的驱动程序指示符。错误
- java编译过程详解
- 求完整代码,得到正确的就结贴
- solaris系统jdk版本如何切换?
注意捕获InterruptedException 异常。
如果捕捉到InterruptedException 这样你就可以进行处理了 break
while(1){
try{
socket1.setSotimeout(20000);//20seconds
}
catch(InterruptedException ie)
{
break;
}
}
答:当然可以啦.
setSoTimeout(10000)的含义是:当进行read()读数据操作时,最多阻塞10秒钟.时间一到(不再等待读下去了),抛出SocketTimeoutException异常.因此:你只要抓住该异常并break,就可以跳出while(1)循环了.
soclet.setSoTimeout(10000); //读数据操作时,最多阻塞10秒钟while(1)
{
...
try{
int v=s.read();//读数据操作时,最多阻塞10秒钟
}catch(java.net.SocketTimeoutException e){
break;
}
}