You are here: Re: socket timeout being ignored « PHP Programming Language « IT news, forums, messages
Re: socket timeout being ignored

Posted by Jerry Stuckle on 10/13/48 11:54

yawnmoth wrote:
> Say I have the following script:
>
> <?
> $timeout = 5;
> $start = time();
> $fsock = fsockopen('125.1.119.10',80,$errno,$errstr,$timeout);
>
> // reduce $timeout by the amount of time that it took for fsockopen to
> connect.
> $timeout-=(time()-$start);
>
> socket_set_timeout($fsock,$timeout);
>
> fputs($fsock,"GET http://www.google.com/ HTTP/1.0\r\n");
> fputs($fsock,"Host: www.google.com\r\n\r\n");
>
> while ( !feof($fsock) )
> {
> echo fgets($fsock);
> }
>
> fclose($fsock);
> ?>
>
> As you can tell, the timeout is set to 5 seconds in fsockopen and then
> is set to how ever many seconds out of that 5 that fsockopen didn't
> take to connect.
>
> All in all, the whole script should run in, at most, 5 seconds. Or
> atleast it seems like it should. Sometimes, however, it doesn't - it
> takes several minutes. And unfortunately, this happens enough times to
> be kinda a nuisance. And I have no idea what the problem is.
>
> Any ideas?
>

What happens if the fsockopen() takes longer than 5 seconds?

See the note on fsockopen() - the timeout may not be available in all
environments. So a delay due to routing, server load or whatever may
cause the open to take longer than 5 seconds, putting a negative value
in your $timeout. I don't know what PHP will do with a negative value -
maybe convert it to a very large positive value?

Additionally, the timeout restarts every time you go a fgets(). The
server could be sending one line every 4 seconds, for instance. 10
lines would be 40 seconds with no errors.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация