求解决java.net.SocketTimeoutException

化石 2013-05-11 06:21:33
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
ServletInputStream sis = request.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
String xmlInfo = null;
try {
do
{
byte[] temp = new byte[1024];
int bufferLength = sis.read(temp);
//上面这一句报java.net.SocketTimeoutException: if (bufferLength < 0)
{
break;
}
bos.write(temp, 0, bufferLength);
}
while (true);
xmlInfo = OpUtil.makeUnencry(bos.toByteArray());
xmlInfo = detailOpereatePost(request, response, xmlInfo);
} catch (Exception e) {
e.printStackTrace();
OpUtil.makeError("xmlInfo:" , e);
System.out.println(1111);
}
bos.flush();
bos.close();
if (null != xmlInfo)
{
ServletOutputStream out = response.getOutputStream();
byte[] bytes = OpUtil.makeEncry(xmlInfo);
out.write(bytes);
out.flush();
out.close();
}
}
...全文
8966 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fei1710 2013-05-13
  • 打赏
  • 举报
回复
你要干嘛?你还指望客户端给你发数据?
化石 2013-05-13
  • 打赏
  • 举报
回复
顶一下啊 顶一下啊
ZHOU西口 2013-05-13
  • 打赏
  • 举报
回复
你确定客户写数据的方式和servlet读数据的方式一样吗,也有可能不是一个IO流
化石 2013-05-13
  • 打赏
  • 举报
回复
引用 6 楼 splendid_java 的回复:
[quote=引用 5 楼 zhangtong136 的回复:] [quote=引用 4 楼 splendid_java 的回复:] 你的客户端是怎么发送数据的?
android客户端 通过post请求 发送的加密数据[/quote]客户端和servlet现在没有连接起来,所以会超时[/quote] 可是请求发过来啦 只是在sis.read(temp);这一句报java.net.SocketTimeoutException:
ZHOU西口 2013-05-13
  • 打赏
  • 举报
回复
引用 5 楼 zhangtong136 的回复:
[quote=引用 4 楼 splendid_java 的回复:] 你的客户端是怎么发送数据的?
android客户端 通过post请求 发送的加密数据[/quote]客户端和servlet现在没有连接起来,所以会超时
化石 2013-05-13
  • 打赏
  • 举报
回复
引用 4 楼 splendid_java 的回复:
你的客户端是怎么发送数据的?
android客户端 通过post请求 发送的加密数据
ZHOU西口 2013-05-13
  • 打赏
  • 举报
回复
你的客户端是怎么发送数据的?
化石 2013-05-13
  • 打赏
  • 举报
回复
引用 2 楼 fei1710 的回复:
你要干嘛?你还指望客户端给你发数据?
就是客户端发来的数据在int bufferLength = sis.read(temp);这一句报java.net.SocketTimeoutException:

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧