Colin Bell wrote:
[color=blue]
> I'm stuck on a problem with getting data from a XML data stream. This
> stream is large and trying to use fsockopen to get the stream down.
>
> I've tetsed the code by telneting into the machine/port but I am
> getting some of the data but not all. I don't know the stream size.
>
> Code snippit below:
>
> function txrx($server, $port, $tx){
>
>
> $rx = "";
> if ($server == "") {
> $rx = "Error - Missing Server";
> }
> if ($port == "") {
> $rx = "Error - Missing Port";
> }
> $fp = fsockopen($server, $port);
> if($fp) {
> fputs($fp, $tx);
> $rx .= fread($fp, 2048);
> fclose($fp);
> }
> return $rx;
>
> }
>
>
> Any suggestions ?[/color]
Yes. you are only reading the first 2048 bytes. Look at this example FROM THE
DOCS and compare it to yours... the problem should be obvious...
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>
[color=blue]
>
> Can you please post to the group and send me an e-mail at
>
348bell@gmail.com
>
> Thanks
> Colin Bell[/color]
--
Michael Austin.
Consultant - Available.
Donations welcomed.
Http://www.firstdbasource.com/donations.html
:)