私はHTTPに不慣れで、アプリケーションプロキシを開発しています。操作のタイムアウトを定義するのを避け、代わりにクライアントに依存して接続を閉じたいと思います。これが可能かどうか疑問に思いますか?
これは非常に唖然とした擬似コードです
void handle_request(Request http_request, Response http_response)
{
string modified_request = parse(http_request);
response_from_server = remote_server->send_request(modified_request);
while(true) {
if(response_from_server ->wait_for_data(1000 /* milliseconds */)) {
http_response->write_data(response_from_server->read_data());
continue;
}
if(!http_response.check_if_the_client_connection_to_me_is_still_active()) // how to do this?
return;
}
}
}
これを尋ねる別の方法は次のとおりです。
- HTTPプロキシで、別のタイムアウトを追加せずに、リモートcilentとリモートサーバーからのタイムアウトを使用できますか?
- リモートサーバーまたはリモートクライアントのいずれかがタイムアウトしたことを検出するにはどうすればよいですか?
ちなみに、私はPocoを使用してC++で開発しています。