java怎么检测socket连接中断异常 我也碰到这个问题,有人能解释一下java(不通过write方式)怎么判断连接中断的吗?楼主能否贴一下用bufferredreader方式检测的代码?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我通常是将read封装到一个方法中,需要取串的时候调用这个方法。无限循环一直读到不是null就返回一个串值,形如:private String read() { String tempString = null; try { while((tempString = /*string from some stream*/) == null) { ; } } catch (SomeException e) { /* Report Exception */ } return tempString;}这样因为是无限循环不断判断连接状态,所以只要一断开立刻就能知道当然,开销比较大一点,不过应该可以接受的 Socket clientSocket = new Socket(host,port);InputStream is = clientSocket.getInputStream();byte[] buf = new byte[len];......//这里做循环守候,省略is.read(buf);将上面的这断程序在用try捕捉错误信息,当server端主动断开链接的时候会抛出异常吗??为什么我的不会抛出异常呢??在网上看到有人说只能用write来写捕捉异常来实现判断,究竟怎么样才是切实可行的,下午的时候碰到一个奇怪的问题,就是server端断开后我write一个buffer竟然还可以发送并且没有抛出异常,一定要等到write第二个buffer的时候才抛出异常broken pipe的异常,究竟怎么回事,我快疯了,哪位能救救我!!! jsp页面中mysql数据库中的中文数据显示乱码或者问号? hibernate 空指针问题,请前辈指导下,困扰一天了 很悲剧,恳请前辈指点迷津~~!分数不够,请包涵,慎重回复此贴,谢谢 一个非常奇怪的关于Struts2的问题 求助,Spring 的一个警告, 怎样消除? 谁有Display Tag的源代码,给100分谢谢 b/s程序如何做到方便更新(发布新版本) weblogic8+mysql连接池异常的问题 如何使用自己的package? 大家推荐一个好的开发J2EE的环境 如何知道remote的socket已经关闭了 怎样设置windows系统,才能使Java的程序通过编译?
无限循环一直读到不是null就返回一个串值,形如:private String read() {
String tempString = null;
try {
while((tempString = /*string from some stream*/) == null) {
;
}
} catch (SomeException e) {
/* Report Exception */
}
return tempString;
}这样因为是无限循环不断判断连接状态,所以只要一断开立刻就能知道
当然,开销比较大一点,不过应该可以接受的
InputStream is = clientSocket.getInputStream();
byte[] buf = new byte[len];
......//这里做循环守候,省略
is.read(buf);将上面的这断程序在用try捕捉错误信息,当server端主动断开链接的时候会抛出异常吗??为什么我的不会抛出异常呢??在网上看到有人说只能用write来写捕捉异常来实现判断,究竟怎么样才是切实可行的,下午的时候碰到一个奇怪的问题,就是server端断开后我write一个buffer竟然还可以发送并且没有抛出异常,一定要等到write第二个buffer的时候才抛出异常broken pipe的异常,究竟怎么回事,我快疯了,哪位能救救我!!!