Hi All,

I am stumped.  For several days I have tried to write a simple PHP
script that can interact with the Streaming API by just pulling in the
stream and echoing out the contents.  This is the script I have:

http://pastie.org/private/9owdxerouwhitz5nfacrw

Right now it just pulls in the feed and echos it.  I am not parsing
anything at the moment.

This works great for a while, then the fread will start timing out
every 60 seconds (I have set the stream_timeout to 60). It will do
this after an undeterministic number of updates or number of bytes
received.

netstat shows I am still connected to stream.twitter.com but Wireshark
shows that no new data is arriving.

I have tried this on 3 different machines (2 behind the same
NAT/firewall, and 1 remote server) all with the same results.

I even scraped together a simple python script which should do the
same thing here:

http://pastie.org/private/k0p5286ljlhdyurlagnq

Same results.... works for a while, then it "stops."

Strangely, if I use CURL or telnet to open a raw socket to /spritzer
or /gardenhose it stays up forever.  I had a telnet socket open on
/spritzer all weekend with no disconnects...

In the PHP script, if I add code to detect the time-outs and
immediately disconnect the socket and reconnect, the updates start
flowing in again...  This is nice for error checking, but I'd really
like to figure out a more robust solution.

1) Can anyone find anything wrong with the scripts I've posted?

2) Does anyone have an example PHP script they are using to connect to
the Streaming API which stays up indefinitely?

I would like to thank John K at Twitter for helping me debug thus far.

Thanks,
-Chad

Reply via email to