2016-10-22 6 views
0

私は何らかのアクション(いくつかのスクリプトを実行する)を行うサーバーを構築しました。これは約10秒かかり、クライアントに応答を送信します。私はそれが正常に動作していますが、私はサーバーが応答を遅く送信するときの接続タイムアウトを回避するにはどうすればよいですか?

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

を作る際に、現在私のサーバーは、周りのためにクライアントに何らかの応答を送信しない

curl http://localhost/get-me-status 

を使用して、同じサーバーからカール電話をかける

その側のアクションが完了するまで10秒間。クライアントが応答を得るまで、ソケットを有効に保つにはどうすればよいですか?私のサーバーは現在Javaで動作しており、サーバー側ではvertxを使用しています。

私の印象は、クライアントが同じマシンにあるときに正常に動作しているため、接続が数秒間アイドル状態になっていることを確認した後で、中間中継ルータの1つが接続を強制終了しているという印象です。接続を維持するためにクライアントにnoobやその他のメッセージを送信し続ける方法はありますか?

ブラウザからhttpリクエストを行ってもこの問題が発生します。

+0

curlにタイムアウトオプションがあります:-m を使用すると、[この記事を読む](http://unix.stackexchange.com/questions/94604/does-curl-have-a-timeout/94612) – FMiscia

答えて

0

これを処理するためにTomcatを使用するだけではどうですか。

+0

I風袋を使ったことはありません。風邪を使って問題を解決していますか? – raju

0

クライアントの接続タイムアウトをに増やす必要があります。 curlには、--connect-timeout--max-timeというオプションを設定します。

関連する問題