Axel Richter: XUL Server Push mit Server Sockets

Hallo,

angeregt von https://forum.selfhtml.org/?t=115945&m=741350 und https://forum.selfhtml.org/?t=115912&m=741237 bin ich bei meinen Recherchen über http://xulplanet.com/tutorials/mozsdk/serverpush.php gestolpert.

Die beiden ersten "HTTP-Push"-Vorschläge kannte ich bereits. Das verzögerte Senden von Multipart-Dokumenten ist auch schon bei Netscape Thema gewesen. http://wp.netscape.com/assist/net_sites/pushpull.html.

Aber beim letzten Vorschlag war ich dann doch etwas sprachlos. Ein Browser (Client) erzeugt einen Server-Socket und wartet auf Pushs? Meinen die das ernst? Gut, ein Test mit einem "normalen" Firefox ergibt bei

try {
    serverSocket = Components.classes["@mozilla.org/network/server-socket;1"]
                     .createInstance(Components.interfaces.nsIServerSocket);

serverSocket.init(7055,false,-1);
    serverSocket.asyncListen(listener);
  } catch(ex){ dump(ex); }

die Exception "'Permission denied to get property UnnamedClass.classes" http://www.xulplanet.com/tutorials/xulqa/q_pdenyucc.html. Man muss wohl da mit signiertem XUL arbeiten. Das wäre dann aber das selbe Problem/Sicherheitsrisiko wie bei Java-Applets, die Server-Sockets erzeugen wollen.

Welchen Vorteil sehen die XUL-Entwickler da für ihre Methode?
Hat jemand das schon mal in der Praxis umgesetzt?

viele Grüße

Axel

  1. Hallo Axel,

    Falls es Dich interessiert, im PHP-Magazin 5.05 war auch ein Artikel zum Thema Socketverbindung zu Mozilla.

    Gruß,

    Dieter

    1. Hallo,

      Falls es Dich interessiert, im PHP-Magazin 5.05 war auch ein Artikel zum Thema Socketverbindung zu Mozilla.

      Du meinst den hier:

      XMLextra
       Mozilla XUL mit eigenen Objekten erweitern
      Das die Render Engine von Mozilla zu weit mehr in der Lage ist, als nur HTML darzustellen, dürfte inzwischen bekannt sein. Schließlich wurde nicht zuletzt die Oberfläche selbst in einem eigens zu diesem Zweck entworfenen XML-Dialekt entwickelt.

      aus 4.2005 http://www.php-mag.de/itr/ausgaben/psecom,id,266,nodeid,60.html? Nur damit ich auch die richtige bestelle.

      Allerdings glaube ich schon, das Prinzip verstanden zu haben. Entweder, der Client-Nutzer installiert sich ein chrome-package oder man nutzt signiertes XUL und bietet es via HTTP (als Link auf einer Webseite) an. Wenn der Mozilla-Nutzer eines von beiden tut/akzeptiert, dann ist sein Browser plötzlich ein Server, der an einem Port lauscht. Diese Idee finde ich halt so unglaublich, zumal sie offensichtlich von Leuten stammt, die oft gegen ähnliche Ideen (Java-Applets, ActiveX) Sicherheitsbedenken angemeldet haben. Hier würde mich interessieren, was daran nun sicherer sein soll.

      Wie man XUL-Code signiert, habe ich allerdings noch nicht gefunden. Wenn da mal noch jemand einen Link hätte....

      viele Grüße

      Axel