我是 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 代理中,我可以使用远程客户端和远程服务器的超时而不添加另一个超时吗?
- 如何检测远程服务器或远程客户端超时?
顺便说一句,我正在使用 Poco 在 C++ 中进行开发。