你可以使用Socket的setSoTimeout(int timeOut);方法来设置等待接受数据包的等待时间,单位为毫秒
还有线程中有一个join(long millis);方法,好象也是关于等待时间的,我记不太清楚了,你再查查docs文档吧。
还有线程中有一个join(long millis);方法,好象也是关于等待时间的,我记不太清楚了,你再查查docs文档吧。
解决方案 »
- java 正则 regex 匹配问题
- 访问报HTTP Status 500错误。ubuntu+tomcat+java6
- JAVA 基础题 求答案 呵呵 相当于散分
- 请问谁那有用Java先的查找与替换的源代码??
- 谁能告诉PushbackInputStream这个类有什么用处
- 文本框监听回车事件
- 一个菜鸟问的问题 请大家帮帮忙送分)
- 建立一个urlconnection,怎样才能在这个urlconnection产生异常的情况下,不对程序的其他部分产生影响?
- 初学java遇到的问题
- 请问高级程序员有没有考java语言的?
- 为什么不能在一个socket连接中read/write两次?
- 构造函数问题????
listen_socket.setSoTimeout(600000);
如果我这样设置了serversocket,如果60秒之内没有数据包传输的话,会怎么样呢?
就如你写的 , 到了60秒 抛了异常,那么在catch中你再来个传输数据的语句,如果又抛了异常,那就说明连接已经不存在了;不抛,那不就证明还在连接么。
listen_socket.setSoTimeout(600000);
要抛出异常的话,接下来该如何写?
try {
do {
client.setSoTimeout(600000);
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
service.serve(in, out);
}
while(true);
}
catch (SocketTimeoutException e) {log(e);}
catch (IOException e) {log(e);}
finally {
try{client.close();}
catch(IOException e){log(e);}
endConnection(this);
}
}