Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Suche Scriptlösung für Datenaustausch
#1
Wer hat Erfahrung mit Scriptlösungen zum Datenaustausch (HTTP/XMLRPC) ?

Speziell suche ich eine Lösung für eine "Chatbridge" zur gridübergreifenden Kommunikation zwischen zwei Locations.

Die Idee ist, den Local-Chat an beiden Orten durch ein Script an einen Server zu senden und von dort die Meldungen vom jeweils anderen Ort abzuholen und im Chat wiederzugeben, sodass Teilnehmer an beiden Orten jeweils den vollständigen Chat beider Orte mitlesen können.

Benötigt wird also sowohl ein Script für die beiden Inworld-Objekte als auch eine Lösung für die verbindende Serveranwendung.

Hat jemand schonmal was ähnliches gemacht, was sich auf die vorliegende Aufgabenstellung anpassen liesse oder ausreichend Erfahrung mit dieser Art der Datenübermittlung um bei einer entsprechenden Entwicklung mitzuhelfen ?
Wer nicht weiss wohin er will, der kommt leicht woanders hin.
Zitieren
#2
In SL und OpenSim habe ich Detektoren, die den Mareta-Avatar scannen und deren Anwesenheits-Status an einen Webserver senden. Als Strings könnten statt derzeit Einzelbuchstaben auch Texte übermittelt werden. Die Antwort ist eine angezeigte Webseite, die in dem Fall verworfen wird, aber bis zu ca. 2000 Zeichen Chat enthalten könnte.

Auf der Webserver-Seite läuft ein PHP Script, das abhängig vom Status die Ampeln mit der richtigen Farbe auswählt. PHP kann ich aber nicht wirklich, und werde nicht die Zeit investieren, damit eine Chatlogik zu implementieren. Vielleicht hilft's etwas.

Script inworld:
Code:
string Status;  // Wird an Webseite uebertragen
key ownerid;    // zur Vermeidung mehrfacher Funktionsaufrufe

default
{
  state_entry()
  {
    Status = "W";
    ownerid = "95223465-3651-4A7d-9d1d-b8f8d6384a36";
    llSetTimerEvent(5.0);  // Ressourcen schonender Zyklus
  }
    
  timer()
  {
    // Status zurücksetzen (W für weg)
    Status = "W";
    // hat Attachment: Trick, nur auf der selben Region ermittelbar
    // und eigentlich hat Mareta immer Attachments z.B. Haare
    if(llGetAgentInfo(ownerid) & AGENT_ATTACHMENTS)
    {
      Status = "D";  // (D für da)
    }
    // Zur Vermeidung von Spieltrieb kryptischer Name der Webseite!
    string URL = "http://12.34.56.78/3POgeheim.php?Status=" + Status;
    llHTTPRequest( URL, [HTTP_METHOD, "GET"], "");
  }
}

Script auf dem Webserver, geheimer Name der Webseite (hier 3POgeheim.php):
Code:
<?php
if ($_GET["Status"] == "W")
{
  copy ("img/Status_n.png", "php-write/Status.png");
}
elseif  ($_GET["Status"] == "D")
{
  copy ("img/Status_j.png", "php-write/Status.png");
}
?>
Zitieren
#3
Hi,
zunächst müsste geklärt werden ob sich diese beiden "Orte" im selben Grid oder auch in unterschiedlichen Grids befinden sollen/können. Theoretisch würde ich allerdings generell von einer Scriptlösung abraten, denn man müsste mit erheblichen Zeitverzögerungen am jeweils anderen Ort rechnen sein. Das Script könnte per Zeitintervall die Eingaben an bekannte Teilnehmer weitergeben, allerdings könnte man das mit dem schon integrierten Gruppenchat realisieren was diese zusätzliche Arbeit dann für unnötig erklären würde.

Ein anderer Ansatz wäre diekt im Quellcode des jeweiligen SIM einzuhaken und von dort die Nachrichten weiterzuleiten was zumindest die zus. Verzögerungen, die via Script ausgelöst würden, terminieren würde. Nachteil die betreffenden Regionen müsste dann über diesen SIM laufen.

Wo soll eigentlich der lokale Chat am anderen Ort wiedergegeben werden und sollen die Leser auch die Möglichkeit haben darauf zu antworten?
Zitieren
#4
Rebekka Revnik hatte da mal was gebaut. Hatte ich mit Prinz getestet. Ging vom SL ins Metro... Funzte gut.
DeReOS Grid - http://dereos.org
Zitieren
#5
(12.05.2014, 21:29)Mike Runty schrieb: Hi,
zunächst müsste geklärt werden ob sich diese beiden "Orte" im selben Grid oder auch in unterschiedlichen Grids befinden sollen/können. Theoretisch würde ich allerdings generell von einer Scriptlösung abraten, denn man müsste mit erheblichen Zeitverzögerungen am jeweils anderen Ort rechnen sein. Das Script könnte per Zeitintervall die Eingaben an bekannte Teilnehmer weitergeben, allerdings könnte man das mit dem schon integrierten Gruppenchat realisieren was diese zusätzliche Arbeit dann für unnötig erklären würde.

Ein anderer Ansatz wäre diekt im Quellcode des jeweiligen SIM einzuhaken und von dort die Nachrichten weiterzuleiten was zumindest die zus. Verzögerungen, die via Script ausgelöst würden, terminieren würde. Nachteil die betreffenden Regionen müsste dann über diesen SIM laufen.

Wo soll eigentlich der lokale Chat am anderen Ort wiedergegeben werden und sollen die Leser auch die Möglichkeit haben darauf zu antworten?

Natürlich nicht im gleichen Grid ... ich sprach von gridübergreifender Kommunikation ... und ein Eingriff in den Sourcecode wäre ja wohl mit Kanonen auf Spatzen geschossen. Abgesehen davon, dass es sich auf einer der beiden Seiten um SecondLife handelt, wo ein Eingriff in den Simulator ohnehin nicht in Frage kommt. Und selbstverständlich soll die Verbindung beidseitig sein - also sozusagen Full-Duplex.

(12.05.2014, 23:05)LyAvain schrieb: Rebekka Revnik hatte da mal was gebaut. Hatte ich mit Prinz getestet. Ging vom SL ins Metro... Funzte gut.

Ohh, hatte keine Ahnung, dass Bekkie da involviert war ... Danke - da werd ich gleich mal nachfragen.
Wer nicht weiss wohin er will, der kommt leicht woanders hin.
Zitieren
#6
Ja das Ding steht bei mir noch irgendwo un SL rum. Dabei haben sich zwei oder mehr Objekte über ihre URL unterhalten, also ist es egal wo die stehen. Und ein Extra-Server bzw. Eingriffe in den Code ist auch nicht nötig.
Leider ist meine Signatur ausserhalb Sachsens nicht verfügbar.
Zitieren
#7
Hallo zusammen ;D

Also ich bin kein Scripter, aber kann man das nicht leichter über XMPP Framework abwickeln ? Da könnte man zum Beispiel Jabber benutzen und dieses sollte man doch auch per Script dann inworld verwurzeln können oder ?

Weil per Jabber könnte man dann auch per JabberClienten sich einklinken ;D
Signatur
Have a nice Day ;D

>> BogusMusikRausch am 28.03.24 um 20 Uhr in Uwes KeulenBar

Tschöö

Bogus | PinguinsReisen.de | M: @gse@norden.social
Zitieren
#8
Zitat:Natürlich nicht im gleichen Grid ... ich sprach von gridübergreifender Kommunikation ... und ein Eingriff in den Sourcecode wäre ja wohl mit Kanonen auf Spatzen geschossen. Abgesehen davon, dass es sich auf einer der beiden Seiten um SecondLife handelt, wo ein Eingriff in den Simulator ohnehin nicht in Frage kommt. Und selbstverständlich soll die Verbindung beidseitig sein - also sozusagen Full-Duplex.
Die Abfuhr habe ich mir glanzvoll verdient, ich muss ehrlich gestehen das ich hier mitunter ziemlich im Stress bin und gegen Abend die Konzentration rapide abnimmt, so habe ich wohl einiges überlesen. Nehmts also nicht all zu krumm, es war mehr so als Gedankengang in die Runde geworfen.

Viel Erfolg Smile
Zitieren
#9
Huhu,

ich suche eine Lösung mit der ein Prim Messages an andere Prims auf anderen Regionen senden kann.

Leider klappt das nicht wie in SL, indem man die Sender/Empfänger jeweils in chat reichweite
an der Simgrenze aufstellt.

Ich möchte ein Alarmsystem bauen, bei dem man ein Horn auf einer Sim betätigt und die Hörner
auf allen verbundenen Sims ebenfalls tröten. Dazu muss aber die Information "Tröten" inkl. wer hat
welches Horn ausgelöst verteilt werden.

Habt ihr da eine Idee, möglichst ohne Webserver?

LG
Sandy
Zitieren
#10
Mit dem Intercom Link habe ich eine Idee wie das laufen könnte

a) ein Masterprim mit tiny URL als statische URL,
wie in http://was.fm/secondlife/permanent_primitive_url beschrieben

Funktionen
a) init/on_rez/... PRIM URL bei tiny.url gem. Script registrieren
b) receive Meldungen empfangen und an registrierte client URL versenden
c) register client url (clientname, clienturl)
d) check_clients .. alle clients anfunken und Strichliste hochzählen wenn nicht erreichbar .. bei Schwellenwert überschritten aus Liste entfernen

b) Clients
a) bei rez/init.... Register_at_master mit eigenem clientname und der clienturl
b) bei touch .. Message senden an master (und ggfls. auch registrieren)
c) recieve .. meldungen vom Master empfangen und ausgeben/auswerten

Könnte das so klappen oder greift da wieder ein OpenSim problem?

Die Clients senden an die tiny url und haben daher einen festen Anker, auch bei Sim/Region Restarts.

Für die Funktion wäre natürlich die Stabilität der Master Sim verantwortlich.

Die Developerbeschränkung von Tiny.url würde durch die wenigen Registrierungen wohl kaum überschritten, weil
Sims nicht so oft am Tag gestartet werden.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Suche Lichtscript LadyContessa Barbosa 8 8.320 21.03.2024, 16:22
Letzter Beitrag: Manfred Aabye
  Suche Script Gruppe Titoss 4 6.707 27.11.2020, 14:52
Letzter Beitrag: Dorena Verne
  Suche Tür Script LadyContessa Barbosa 6 9.540 14.12.2017, 15:41
Letzter Beitrag: LadyContessa Barbosa
  [Suche] Script zur Objektsuche auf einer Region Bogus Curry 8 11.807 02.08.2017, 04:11
Letzter Beitrag: Bogus Curry
  Suche simübergreifendes Boat Script Pharcide 4 7.190 10.07.2017, 14:18
Letzter Beitrag: Ezry Aldrin

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste