You are here: Re: [PHP] Timing out a remote call « PHP « IT news, forums, messages
Re: [PHP] Timing out a remote call

Posted by Torgny Bjers on 08/05/05 01:10

Brian Dunning wrote:

> For one project, I'm required to access a web service for every page.
> Basically it returns a little bit of random text. I have no control
> over the web service, and there is no possibility of cacheing or
> bringing it locally: the requirements are that it be accessed live
> across the Internet every time.
>
> Most times it's instantaneous, but sometimes it can hang. I want to
> give it a half-second timeout, which we're allowed to do, but there's
> no documentation provided. Here is how we call it now (really simple):
>
> include('http://04planet.info/kfc/grab_one.php');
>
> I have STFW and RTFM and could only find vague references like "use
> fsockopen instead" or "stream_set_timeout()" but I can't find an
> actual complete working example anywhere. Any pointers?
>
Generally, using include or file_get_contents() for a remote call is a
Bad Idea. Perhaps if you used curl instead? You have a lot more control
over the entire call that way. Of course, the curl code might be a bit
bulkier in PHP, but I find it works quite well.

As for fsockopen(), it works just like a file pointer.

http://www.php.net/manual/en/function.fsockopen.php

That manual page gives a pretty good description of how to use it.

Idea: "The socket will by default be opened in blocking mode. You can
switch it to non-blocking mode by using stream_set_blocking()."

The last parameter to fsockopen() is the timeout for connecting to the
socket, and the manual describes it as such:

"Note: If you need to set a timeout for reading/writing data over the
socket, use stream_set_timeout(), as the timeout parameter to
fsockopen() only applies while connecting the socket."

Regards,
Torgny

 

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

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