php-ból tcp session

Szeretnék egy serverrel kommunikálni, annak speciális protokolján.
A tcp kapcsolat felépül, elküldöm a beadandó text-et, erre a server válaszol (tcp dump), de valahogy nem jön, a választ a php nem tudja kiolvasni, vagy nem kapja meg, vagy én vagyok béna.


    $stream = stream_socket_client("tcp://".$ip.":".$tcp_port,$errno,$errstr,30);
    if (!$stream)
    {
        echo "$errstr ($errno)<br />\n";
    }
    else
    {
        stream_set_blocking ($stream,0);
        $out = "00;7;O;74637060000;0100;F1";

        fwrite($stream, $out);
        $stat=socket_get_status($stream);
        echo fgets($stream, $stat["unread_bytes"]);

        fclose($stream);
    }

Erre ezt kapom: Warning: fgets() [function.fgets]: Length parameter must be greater than 0 in

Hozzászólások

Én korábban egy hasonló problémával találkoztam. Akkor az volt a megoldás, hogy a php.ini -ben
always_populate_raw_post_data = On
Off-ról.
Na, kicsit benéztem, azt hiszem ennek ide semmi köze :( Sorry, már nagyon "péntek" van..

--
http://laszlo.co.hu/

Megoldottam másképp


$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);



// Connect to destination address
socket_connect($sock, $ip, $tcp_port);

// Write



        $out = "000;234;ACDF6756EBB8;000;AA";

         socket_write($sock, $out);
         $terminator = "";
        while ($terminator != "\n") {
                $nr=socket_recv($sock,$terminator,1,0);
                echo $terminator;
                $in.=$terminator;
                    }

        socket_close($sock);
        $in=explode("/",$in);
        print_r($in);