Hallo und ein gesundes neues Jahr 2014.
Um das Thema monitord ist es leider sehr ruhig geworden.
Ich hatte über die freien Tage etwas Zeit mal wieder zu spielen.
Dazu habe ich mir einen einfachen php-Socket-Client gebaut.
PHP-Code:
#!/usr/bin/php -q
<?php
$host = "127.0.0.1";
$port = 9333;
$message = "Hello Server";
echo "Message To server :".$message;
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// connect to server
$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
// send string to server
socket_write($socket, $message, strlen($message)) or die("Could not send data to server\n");
do
{
// get server response
$result = socket_read ($socket, 1024) or die("Could not read server response\n");
echo "Reply From Server :".$result;
$message = "204:1:60"."\r\n";
socket_write($socket, $message, strlen($message));
}
while(true);
// close socket
socket_close($sock);
?>
Und habe mir als Refferenz diese Doku angesehen.
Klick
Die ZVEI und FMS-Meldungen kommen damit auf der Konsole an.
Was mir aber überhaut nicht gelingt, sind Steuerbefehle vom Client.
Code:
root@debian:~# ~/src/./socket.php
Message To server :Hello Server
Reply From Server :100;monitord 2.0svn READY
Reply From Server :300:1388598045:1:12345:0:756E6B6C617265204175736C6F6573756E67
Reply From Server :300:1388598046:1:12345:0:756E6B6C617265204175736C6F6573756E67
Also ein "210" bzw. "210 CR-LF" oder "210 \r\n"sollte mir doch Infos über den Server bringen.
Und ein "204:1:30" bzw. "204:1:30 CR-LF" oder "204:1:30 \r\n" sollte 30s Aufnehmen.
Wie muss den "CR-LF" am Ende der Zeile erfolgen?
Das ganze sollte doch auch mit PuTTY funktionieren.
Jedenfalls bekomme ich damit auch ZVEI Meldungen,
nur Befehle absetzen klappt nicht.
Danke und Gruß
Marcel