Python asyncore 设置非常短的超时时间
我写了一个程序,可以同时和很多服务器进行交流,使用的是asyncore模块。大部分情况下,我只是对从服务器收到的数据做出回应,但有时候我需要发送一些数据,这个发送的时机可能不太同步。默认的超时时间是30秒,这样会导致发送数据时有明显的延迟,所以我把超时时间调低到了0.1秒,这样反应会更快。
我想问的是:把超时时间设置得这么低,从性能上来看是否合适?如果不合适,有没有其他更有效的方法来实现同样的效果?这样做的最佳实践是什么?
1 个回答
1
为了回答我自己的问题:
对于这种轮询应用,设置一个较小的超时时间是很重要的。超时时间决定了内部的选择功能会等待多长时间,直到某个套接字变得活跃。如果你频繁发送数据,就需要把超时时间设置得小一些,这样选择功能就能在合适的时间间隔内检查你的套接字是否可以发送数据。否则,选择功能会等待太久才去检查,这样就会导致一些延迟。
最后我设置的超时时间是0.05秒。