发布时间:2019-09-20 07:39:14编辑:auto阅读(3297)
有时候写python关于网络的程序。比如用urllib2等module发http请求的时候,发现有时候会有死掉的情况,就是程序没任何反应,也不是cpu,内存没资源的问题。具体情况还没搞明白那里出的问题,但是找到一个解决办法。就是设置socket time out,即:如果一个请求超过一定的时间没有完成,就终止,再次发起请求。
这个是从2.3有的功能用法如下:
settimeout( value)
Set a timeout on blocking socket operations. The value argument can be a nonnegative float expressing seconds, or None. If a float is given, subsequent socket operations will raise an timeout exception if the timeout period value has elapsed before the operation has completed. Setting a timeout of None disables timeouts on socket operations. s.settimeout(0.0) is equivalent to s.setblocking(0); s.settimeout(None) is equivalent to s.setblocking(1). New in version 2.3.
就是settimeout()里面填一个数值。小心别太小,别正常的请求也不能完成。
上一篇: Python 史话
下一篇: Python + PyQt4 实现记事本
51747
51431
41842
38612
33108
30099
28771
23768
23681
22047
79°
2277°
2969°
2473°
2418°
3018°
2426°
3232°
5326°
5148°