• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Ping Pong

Nadja Black

Nutzer
Hallo,
ich will in mein device , daß ich gebaut und mit rlv ausgestattet habe, jetzt die Sache mit dem Ping einbauen.

Das Relay sendet ja ein Ping an das device beim wieder einloggen, um rauszufinden ob das Device noch erfügbar ist.
Wenn nicht wird der Relayträger ja befreit von allen Einschränkungen.
So weit hab ich das vertanden, ich steh nur etwas auf dem Schlauch wie ich das einbaue, hätte da
vielleicht jemand ein Beispiel parat wie das in einem Script aussieht ?

LG Nadja
 
Hallo,

nein ich wills selber lernen zu scripten, bräuchte nur mal ein bsp script um zu sehen wie es ich das sende und empfange im listener.
Ich benutze ein TK Relay, sollte ja aber auch mit anderen relays funktionieren.
 
Hallo,
ich will in mein device , daß ich gebaut und mit rlv ausgestattet habe, jetzt die Sache mit dem Ping einbauen.

Das Relay sendet ja ein Ping an das device beim wieder einloggen, um rauszufinden ob das Device noch erfügbar ist.
Wenn nicht wird der Relayträger ja befreit von allen Einschränkungen.
So weit hab ich das vertanden, ich steh nur etwas auf dem Schlauch wie ich das einbaue, hätte da
vielleicht jemand ein Beispiel parat wie das in einem Script aussieht ?

LG Nadja

Kannst du mir mal den Code von diesem "Ping" den das Relay sendet zeigen bitte? Dann kann ich dir bestimmt weiterhelfen.
 
Den Code hab ich ja nicht, das sollte aber doch bei allen Relays gleich sein so wie ich das verstehe.
Hab das hier gelesen:

ping/!pong

The ping/!pong mechanism exists so that relays can check presence and responsiveness of a controller.
This was primarily meant to be used on relay wearer relog, in order to reactivate all restrictions so that sessions persist on relog if the controller still exists and is ready to continue the session.
!pong cannot require authentication and does not lock a session
We call ping message a message from the relay, having the following syntax:

ping,<controller_key>,ping,ping

We call !pong message a message from the controller, having the following syntax:

ping,<relay_key>,!pong

Relay side

A relay SHOULD NOT send an acknowledgement in response to !pong.
A ping message can be sent any time by the relay to a known controller.
On wearer relog, for each existing Locked session, the relay must send a ping message to the session controller.
When a !pong message is received from a controller, if it was a reply to a previous ping message:
if the session RLV restrictions contain unsit and the avatar was sitting on some object when the restriction was applied, then the relay MUST force the avatar to sit back on the same object (if still existing);
the relay MUST make sure all restrictions belonging to the session are made active again.
If a ping message is sent and is not answered by the controller, then the relay closes the session.
Note that the relay is responsible for storing restrictions and the key of the sit target across sessions, not the controller.

Controller side

Unless it does not matter that the relay could close the session (or for another reason, the controller knows the relay will not close it), a controller SHOULD listen to ping messages and answer any ping message with a !pong message.
A controller should ignore ping requests from relays it is not ready to handle.
Note controller don't have to poll for relay presence to resume a session but should just listen for ping messages instead. The relay should have stored all restrictions and handle sitting back to whatever furniture the relay wearer was tied up to.
Concerning the second bullet: for instance, if the controller is a furniture which is already in use by another relay wearer, it would be cause dysfunctions to let the pinging relay restore the restrictions without letting its wearer sit on the furniture. Or if the controller is not stateless and the state for the pinging relay has not been saved before, resuming the session from the initial state might be inconsistent.

..und ich weiß eben nicht wirklich wie ich das umsetzen soll.
Ich weiß daß ich einen Listener aufmachen muß der auf den channel -1812221819 vom Relay auf dolgendes hört: ping,<object_uuid>,ping,ping
und das Device muß mit: ping,<user_uuid>,!pong antworten, aber wie soll das aussehen im script ?

Hatte es so versucht:
if(message=="ping," + (string) deviceID + ",ping,ping")
{
llShout(CHANNEL_RELAY, "ping," + (string) VictimID + ",!pong");
}

.. aber so gehts wohl nicht .....

LG Nadja
 
Zuletzt bearbeitet:
hrm, was genau ist deviceID und VictimID? Nach der Beschreibung zu urteilen könnte eventuell llShout(CHANNEL_RELAY, "ping," + (string) llGetKey() + ",!pong"); funktionieren (einfach den Key des Relays zurückgeben, nicht des Victims).
Kannst du mal die message im normalen Chat ausgeben, und hier posten bitte (natürlich kannst du den Key unkenntlich machen).

So etwa:
llSay(0, message); //im Listen Event
 
Hab den Fehler gefunden :)
Durch die abfrage der Messages mit llSay(0, message) hab ich bemerkt daß ich nen falschen link key abgefragt hatte mit meinem device ID.
Jetzt gehts so wie ich oben geschrieben habe.

Vielen Dank für die Hilfe :)

LG Nadja
 

Users who are viewing this thread

Zurück
Oben Unten