问题描述
我在0.13.0版中使用apache节俭。 一旦两次通话之间的时间大约为1.5秒,连接就会关闭。 超时时间从1.3秒到1.8秒不等。
在服务器和客户端中设置了 # both print: 3 {'foo': 'bar','number': 100}
f(**{'a':3,'foo':'bar','number':100})
f(a=3,foo='bar',number=100)
。我为rx,tx尝试了不同的方法,但这并没有改变任何东西。
我用于测试的客户代码如下。
客户端正在使用Windows,服务器正在运行linux。
keepAlive
节俭将在下面的代码段(位于TSocket.cpp中)引发异常。
for (int i = 0; i < 100'000;i+=50){
remote_method();
auto sleep = std::chrono::milliseconds(i);
std::cout << "Sleep: " << i << "\n";
std::this_thread::sleep_for(sleep);
}
这次之后,似乎有些东西正在重置连接。 如果以高频率调用此方法,则不会发生超时。
解决方法
节俭工作正常,其他基于套接字的通信也显示了此行为。根本原因是服务器在其中运行的VMware虚拟机。网络模式(桥接,NAT或仅主机)没有任何作用。通过将服务器移至物理机,已解决了该问题。 linux的网络配置很可能是错误的。