【发布时间】:2016-10-22 13:32:41
【问题描述】:
我已经构建了一个服务器,它执行一些操作(运行一些脚本),大约需要 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 请求,我也会遇到这个问题。
【问题讨论】:
-
curl 有一个超时选项:可以使用 -m
,阅读this post
标签: java sockets http curl router