Hallo zusammen,
ich stehe irgendwie auf dem Schlauch:
Ich versuche ein PHP-Script dazu zu bewegen, Daten an einen Socket zu senden und eine Antwort zu bekommen. Leider funktioniert entweder nur lesen, oder nur schreiben. Aktiviere ich im PHP beides, wird keines ausgeführt und die Seite fährt ins Time-Out.
Hier mal die wesentlichen Ausschnitte:
Das PHP-Script:
Kommentiere ich socket_write.. aus, wird gesendet. Kommentiere ich socket_read aus, wird empfangen. Lasse ich beides aktiv, gleibt alles stehen, bis ich das Java-Programm stoppe. Dann kommt noch das letzte echo.
Was könnte ich hier falsch machen?
VG
Steffen
ich stehe irgendwie auf dem Schlauch:
Ich versuche ein PHP-Script dazu zu bewegen, Daten an einen Socket zu senden und eine Antwort zu bekommen. Leider funktioniert entweder nur lesen, oder nur schreiben. Aktiviere ich im PHP beides, wird keines ausgeführt und die Seite fährt ins Time-Out.
Hier mal die wesentlichen Ausschnitte:
Java:
BufferedReader in_socket = new BufferedReader(new InputStreamReader (socket.getInputStream()));
PrintWriter out_socket = new PrintWriter(new OutputStreamWriter (socket.getOutputStream()));
String message = in_socket.readLine();
System.out.println(message);
out_socket.print("Msg_received \r\n");
out_socket.flush();
socket.close();
Das PHP-Script:
PHP:
<?php
print ("TEST");
$host = '127.0.0.1';
$port = 5353;
// Create a new socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
// Connect to the server
socket_connect($socket, $host, $port) or die("Could not connect to server\n");;
// Write data to the server
$in='Hello World';
socket_write($socket, $in, strlen($in)) or die("Could not read server response\n");
// Read data from the server
$response = socket_read($socket,1024, PHP_NORMAL_READ) or die("Could not read server response\n");
// Close the connection
socket_close($socket);
echo ("Empfangen: ".response);
?>
Kommentiere ich socket_write.. aus, wird gesendet. Kommentiere ich socket_read aus, wird empfangen. Lasse ich beides aktiv, gleibt alles stehen, bis ich das Java-Programm stoppe. Dann kommt noch das letzte echo.
Was könnte ich hier falsch machen?
VG
Steffen