Channel is unrecoverably broken and will be disposed!

刚才测试代码时,报了如下的错误消息:

04-23 14:09:18.608: E/InputDispatcher(99): channel '405fd468 cn.jbit.NewsManager/cn.jbit.NewsManager.NewsManagerActivity (server)' ~Channel is unrecoverably broken and will be disposed!

由于前面写代码时,遇到过类似的错误消息,这次遇到就得心应手了,从错误的消息来看,可以确定是代码中某个有数据输入的地方写错了,于是,找到我刚才的代码中,有数据输入的地方,详见下边:

/***
*   利用GET方式 提交 数据
* @param strtitle
* @param strauthor
* @param string
* @return
* @throws Exception 
*/

public static boolean saveByGET(String strtitle, String strauthor) throws Exception {
StringBuffer buffer  =new StringBuffer();  
buffer.append("?title=").append(URLEncoder.encode(strtitle, "UTF-8")+"&author=").append(URLEncoder.encode(strauthor, "UTF-8"));
URL url  =new URL("http://192.168.137.1/JspUnit2/NewsAddServlet"+buffer.toString());
HttpURLConnection conn =(HttpURLConnection)url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
if(conn.getResponseCode()==200){
return true;
}
return false;
}

一看,上面的代码中,红色部分中少了:8080,不知道,自己当时是怎么了,把这个给写漏了,正确的代码应该是:URL url  =newURL("http://192.168.137.1:8080/JspUnit2/NewsAddServlet"+buffer.toString());

改正后,就不在报那个错了,从这几次,报这个错误消息的情况来看,如果程序报Channel is unrecoverably broken and will be disposed!时,首先可以考虑是不是代码中某个有数据输入或是有数据输出的地方,写错了代码。

类似的文章,我的android开发原创里还有两篇文章,可进行对比,标题分别是:1.Channel is unrecoverably broken and will be disposed!,2.Consumer closed input channel or an error occurred. events=0x8

希望对你有所帮助!

你可能感兴趣的:(android开发,android,异常)