Mailinglisten-Archive |
> Von: Norbert Pfeiffer > versuche es mal mit dem etwas geaenderten Script: > [hier war das Script] :) Habe es noch etwas modifiziert und geschaafft, dass die Daten so ankommen, wie sie sollten: <?php $paket1 = array(0x03, 0x18, 0x13, 0xE0, 0xC0, 0x01, 0x0A, 0xC2, 0x03, 0x53, 0x52, 0x43, 0xC1, 0x03, 0x44, 0x53, 0x54); $host = '192.168.0.25'; $port = '102'; $fp = fsockopen($host, $port, $errno, $error, 9); if(fp) { echo "Verbindung steht!\n"; foreach($paket1 as $data) { $wr .= fwrite($fp, chr($data)); } echo "<br>schicke Hex-Daten...(mit lokalem echo)<br>"; fwrite($fp, sprintf('%d', $wr)); echo "($wr)"; printf('%02X', $wr); //Die lokale Ausgabe stimmt noch nicht echo "\n"; fclose($fp); echo "Verbindung beendet.<br>"; } else { echo "Konnte keine Verbindung zum Rechner aufbauen"; echo "[$errno] ".$error." - <b>exit;</b>\n"; exit; } ?> Wichtigste Neuerung, ich muss die Daten auf einmal schicken, da er sonst weitere Bytes dazwischen packt, warum auch immer. > Nochmal zum senden mit printf(); > Das wird so nicht funktionieren koennen, weil printf(); > fuer 0x00 ein '00' und kein chr(0) ausgibt. Stimmt, aber anscheinend brauche ich diese Werte gar nicht, habe die 0x00 einfach rausgelöscht. > Und es ist auch fraglich, wie printf(); innerhalb > von fwrite(); reagiert. Scheint keine Probleme zu machen, fprintf ist ja leider ab PHP5 dabei und sonst wüsst ich nicht wie ich das machen könnte. Jetzt hoffe ich nur ich kann ueberhaupt interaktiv arbeiten mit dieser Verbindung, da es ja HTTP ist, ansonsten muss ich trotzdem mal mit netcat oder C versuchen. Auf jeden Fall herzlichen Dank, habe einiges dabei gelernt. Gruss Carlos Diener
php::bar PHP Wiki - Listenarchive