HIho
so mein erster Beitrag im Forum.
So mein Problem:
ich habe eine Socketverbindung zu einem Server über TCP. DIese Verbindung verbindet sich mit dem Server, wartet auf die Antwort. Danach muss mann sich mit einem Benutzernamen und PW authorisieren. Wenn die AUthorisierung erfolgreich ist kommt eine "Uuser loged in" Floskel. SO und jetzt fängt es an:
Ich möchte an den Server bestimmte NAchrichten senden. Also wie ein Formular, und wenn ich dann auf senden drücke , soll die NAchricht gesendet werden und auf die Antwort des Servers gewartet werden. Und dass bis ich die VErbindung schließe. Leider bekomme och es nur soweit hin, dass ich im COde das reinschreibe was gesendet werden soll. JEdoch will ich es ja beliebig oft senden über eine Eingabe. Kann mir da jemand mit dem Code helfen
das MAin DAtei
PHP-Code:
<?php
echo "Lade Formularprüfung";
include_once "check.php";
echo ".....check <br />";
echo "Lade Ausgabenclasse";
include_once "ausgabe.class.php";
echo ".....check <br />";
echo "erzeuge socket";
$socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) {
echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror ($socket) . "\n";
exit;
}else{
echo "... check <br />\n";
}
$class = new neu;
$class->connect();
$class->ausgabe_zeilen();
echo $name . "<br /> \r\n";
socket_send ($socket, $name, strlen ($name) , MSG_DONTROUTE);
echo "<br />";
$class->ausgabe_zeilen();
echo "*******" . "<br /> \r\n";
socket_send ($socket, $password, strlen ($password) , MSG_DONTROUTE);
echo "<br />";
$class->ausgabe_zeilen();
$class->ausgabe_zeilen();
$say = "say Hallo \n";
socket_send ($socket, $say, strlen ($say) , MSG_DONTROUTE);
$class->ausgabe_zeilen();
?>
und die classe
PHP-Code:
<?php
class neu{
public function ausgabe(){
global $socket;
$buffer = htmlentities(socket_read($socket , 1024));
echo $buffer;
}
public function ausgabe_zeilen(){
global $socket;
$buffer = htmlentities(socket_read($socket , 1024));
$explode = explode("\n" , $buffer);
$implode =implode("<br />" , $explode);
echo $implode;
}
public function connect(){
global $socket;
global $server;
global $port;
echo "Baue Verbindung auf";
$result = socket_connect ($socket, $server, $port);
if ($result < 0) {
echo "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror($result) . "\n";
exit;
}else {
echo "...check <br />\n";
}
}
}
?>
Server Port Username und PW kommen von der INdexseite und werden mit $_POST weitergegeben.
Hoffe ich könnt mir helfen.
PS es würde schon reichen wenn das Empfangen dauerhaft klappen würde, denn im moment ist connect senden empfangen disconnect und den disconnect will ich halt bestimmen können
MfG MIrko911
