java.io.IOException: java.util.concurrent.ExecutionException: java.net.SocketException: Broken pipe

公司开发的一个项目,使用了Websocket。调用websocket后,可以连接成功,如果一分钟内没有进行交互则会自动断开,同时有异常信息“java.io.IOException: java.util.concurrent.ExecutionException: java.net.SocketException: Broken pipe”。针对这一问题,网上的回答各种各样。在网上找到一个类似的算是解决了问题。

1、系统环境:Tomcat 7 、jdk 7、nginx

2、系统返回异常“java.io.IOException: java.util.concurrent.ExecutionException: java.net.SocketException: Broken pipe”

3、解决方法:在nginx对应的server下面把“proxy_read_timeout ” 的时间由60调整到600即可。

proxy_http_version 1.1;
    proxy_set_header X-Client-IP $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
		proxy_connect_timeout 600;
    proxy_read_timeout 600;

PS:

nginx比较强大,可以针对单个域名请求做出单个连接超时的配置.

比如些动态解释和静态解释可以根据业务的需求配置

proxy_connect_timeout :后端服务器连接的超时时间_发起握手等候响应超时时间

proxy_read_timeout:连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)

proxy_send_timeout :后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值