Hi.
Ich versuche per fsockopen mit einen Java-Programm zu kommunizieren. Die ausgehenden Daten funktionieren tadellos, das Programm empfängt sie, tut was es tun soll und sendet daraufhin eine Bestätigung bzw. Anlehnung.
Nur das Empfangen dieser macht Probleme. fgets() blockiert meistens die ganze Zeit, bis er nach 60 Sekunden durch das eingestellte Limit abbricht. :/
Hat jemand zufällig eine Idee, woran das liegen könnte?
Ich versuche per fsockopen mit einen Java-Programm zu kommunizieren. Die ausgehenden Daten funktionieren tadellos, das Programm empfängt sie, tut was es tun soll und sendet daraufhin eine Bestätigung bzw. Anlehnung.
Nur das Empfangen dieser macht Probleme. fgets() blockiert meistens die ganze Zeit, bis er nach 60 Sekunden durch das eingestellte Limit abbricht. :/
PHP:
function comWithJava($parm)
{
$ip = "localhost"; //Host
$port = 43252; //Port
$msg = "PhpComRQ;".$parm.";$"; //Versendeter Befehl
$fp = fsockopen($ip, $port, $error, $errno); //Öffne Verbindung
fwrite($fp, $msg); //Schreibe Befehl.
$answer = "";
while(!feof($fp)) //Solange, bis die Antwort vollständig gelesen wurde...
{
$buffer = fgets($fp, 1024); //Lese vom Socket.
$answer = $answer.$buffer; //Und füge das Empfangene der Variable hinzu.
}
fclose($fp); //Schließe Socket.
$split = preg_split(";", $answer); //Splitte das Empfangene.
if($split[0] == "PhpComNAK") //Bei Ablehnung false zurückgeben.
return(false);
return(true); //Sonst true.
}
Hat jemand zufällig eine Idee, woran das liegen könnte?