服务器发送响应迟到时如何避免连接超时?

时间:2016-10-22 13:32:42

标签: java sockets http curl router

我已经构建了一个执行某些操作的服务器(运行一些脚本),大约需要10秒钟,然后向客户端发送响应。

当我使用

从同一台服务器进行curl调用时
curl http://localhost/get-me-status

我让它正常工作但我做的时候

$ curl http://server/get-me-status
curl: (56) Recv failure: Connection reset by peer

目前,我的服务器在大约10秒内没有向客户端发送任何响应,直到其端的操作完成为止。在客户端得到响应之前,如何保持套接字处于活动状态?我的服务器目前是Java,我在服务器端使用vertx。

我的印象是,当看到连接闲置几秒钟后,其中一个中间路由器正在终止连接,因为当客户端也在同一台机器上时,它正常工作。有没有什么方法可以继续向客户端发送noob或任何其他消息以保持连接活着?

即使我从浏览器发出http请求,我也会面临这个问题。

2 个答案:

答案 0 :(得分:0)

为什么不直接使用Tomcat来处理这个问题。

答案 1 :(得分:0)

您必须增加客户端连接超时。在curl中,设置选项--connect-timeout--max-time