问题:
用php构造一个http请求,若是http连接的时间比较长的话总是获取不到想要的结果,发现此请求并没有获取所有全部的数据。怀疑是连接超时了。
处理:
程序是采用resource fsockopen ( string target [, int port [, int &errno [, string &errstr [, float timeout]]]] )来打开连接的,本以为设置此处的timeout就可以解决问题,但是延长timeout的时间后仍然出现此情况。后来上网再次查找用stream_set_timeout解决了此问题。
总结:
fsockopen 函数中自带的timeout是连接的超时,即连接上指定target的时间,而非连接后等待的时间
stream_set_timeout 函数即是某个resource连接后等待的时间,即已经连接上了,然后进行等待的时间
阅读(5971) | 评论(1) | 转发(1) |