Closed qinzuoyan closed 8 years ago
这个issue解决了不必要的response,是否能再加个功能,避免不必要的request,即: 用户的service可能是同步实现,因为过载而导致堵塞。server端收到request后,要排队调用用户的service,在真正调用用户service前,请求可能已经超时,这时候继续调用用户的service,产生response,再丢弃,其实也是很浪费的。
GREAT WORK!
@bluebore ,我明白你的意思,我要说几点:
... ...
// process messages
while (!is_closed() && !received_messages.empty())
{
on_received(received_messages.front());
received_messages.pop_front();
}
... ...
赞这个主题! 可以考虑把用户最初掉用rpc的start_time和time_out附带上,在真正发送rpc时判断一下超时; 对端收到请求时记录一下receive_time,处理过程中或者response时都可判断一下是否已经超时
参见#86 ,目前已经考虑了server_wait_time,现在就差client_wait_time需要考虑了
问题描述
当RequestTimeout之后,实际上对应Socket没有关闭,超时后数据还是会被接收,这在传输大数据块时,会占用较大带宽。
原因分析
这个问题存在的原因在于:
解决方案
考虑如下:
实现
参见pull request #84 但是还有改进的地方: