Man sollte doch mehr lesen
Das mit der RegisterVariable hatte ich nicht auf dem Schirm - ist nun drin. Der WebSocket Server hat als übergeordnete Instanz noch einen Server Socket.
Das Aktionsscript macht im Moment erstmal nichts weiter als die ankommenden Daten in Variablen zu speichern.
<?
IPS_LogMessage("WebSocket Register", "## START ##");
IPS_LogMessage("WebSocket Register", "Client IP: ".$_IPS['CLIENTIP']);
IPS_LogMessage("WebSocket Register", "Client Port: ".$_IPS['CLIENTPORT']);
IPS_LogMessage("WebSocket Register", "empfangene Daten: ".$_IPS['VALUE']);
IPS_LogMessage("WebSocket Register", "## ENDE ##");
SetValue(17638 /*[Websocket Server\Register Variable\Read Register Var\Client-IP]*/,$_IPS['CLIENTIP']);
SetValue(39549 /*[Websocket Server\Register Variable\Read Register Var\Client-Port]*/,$_IPS['CLIENTPORT']);
SetValue(48248 /*[Websocket Server\Register Variable\Read Register Var\Client-Data]*/, $_IPS['VALUE']);
?>
Wenn ich nun über RegVar_SendPacket ein Paket über den WebSocket Server senden will
<?
$ClientIP = GetValueString(17638);
$ClientPort = GetValueInteger(39549);
//RegVar_SendPacket(InstanceID: Integer, Text: String, ClientIP: String, ClientPort: Integer): Boolean
RegVar_SendPacket(46379 /*[Websocket Server]*/, "TEST from IPS", $ClientIP, $ClientPort);
?>
bekomme ich aber einen Fehler:
Warning: SendPacket can only be used with a server socket in /var/lib/symcon/scripts/23429.ips.php on line 4
Versuche ich es über den WebSocketServer
RegVar_SendPacket(22816 /*[Websocket Server\Register Variable]*/, "TEST from IPS", $ClientIP, $ClientPort);
kommt der Fehler:
Warning: Instance does not implement this function in /var/lib/symcon/scripts/23429.ips.php on line 4
Schicke ich mit SSCK_SendPacket das Paket direkt über den ServerSocket (Parent des WebSocket Server) wird die Verbindung getrennt und neu aufgebaut - also auch irgendwie nicht richtig.
Wo liegt denn hier mein Fehler?
Falls das nicht hier hin gehört und ich besser einen eigenen Thread aufmachen soll - so kann ich das gerne tun.
Danke!