Mailinglisten-Archive |
Hallo,
plage mich gerade mit mir unbekannten Socketverbindungen rum.
Hier mal mein Quelltext:
<?
function lookup($fp,$lookup)
{
if (!$fp)
{
echo $errno.$errstr;
}
else
{
$lookup.="\r\n";
fputs($fp,"$lookup");
$data=fgets($fp);
}
return $data;
}
$fp=fsockopen("hitserver.hi-tier.de",2223,&$errno,&$errstr,45);
socket_set_blocking($fp,false);
echo lookup($fp,"
*1:XS:LOGON/BNR15;PIN;MELD_WG:276050000000001;900005;1")."<br>";
echo lookup($fp," *2:RS:GEBURT/*:")."<br>";
echo lookup($fp," *3:XS:LOGOFF:")."<br>";
fclose($fp);
?>
Er gibt mir zurück das ich im System bin , aber irgendwie nimmt er die
Befehle nicht bzw. liefert nichts gescheites zurück.
Fogendes schrieb mir der Admin:
grundsätzlich sollten Sie mal versuchen:
- zur Ausgabe eine Funktion zum "zeilenweise" schreiben
zu verwenden und/oder testweise CR und/oder LF am Ende setzen
um irgendwie sofortiges Absetzen des Netzpuffers zu erreichen.
- beim Lesen auch "readline" oder so was und nicht read-block mit 16384
bytes
- dann muss nach dem open connect, erst Lesen erfolgen bis die Antworten
vollständig
(d.h. die Zeile mit "=" beginnt)
- dann wieder senden,
- und dann sofort wieder zeilenweise lesen bis alle Antworten eingelesen,
also wieder "=" als Kenner für letzte Zeile der Antwort
Mehr infos unter:
http://212.18.9.61/entwicklung/konzept/hitp/feink040.html#Antwortaufbau
Gruss
Burkhard
php::bar PHP Wiki - Listenarchive