WebSocketServer externe javaScript Dateien laden?

Alle Fragen zur Netzwerkkommunikation

WebSocketServer externe javaScript Dateien laden?

Beitragvon pluto » 23. Apr 2017, 22:30 WebSocketServer externe javaScript Dateien laden?

Hallo

Ich wollte in Sachen WebSocketServer was "Neues" ausprobieren, womit ich immer meine Probleme habe und zwar möchte ich gerne in einer HTML Datei externe JavaScript Dateien einbinden.

Um WebSocketServer zu nutzen, benutzt ich einfach:
http://code.google.com/p/bauglir-websocket/
diese Lib.

Das Event: OnConnectionSocket
wird zwei mal aufgerufen, aber in beiden Fällen hat der ResourceName nur '/' als Inhalt.

Wenn ich mir jetzt in der Datei "WebSocket2" die Methode "TWebSocketServer.CreateServerConnection" ansehe und mir dort
fncResourceName ausgeben lasse, sehe ich das diese Methode 4 mal aufgerufen wird und zwei mal mit dem richtigen Inhalt.

Warum ist im OnConnectionSocket Event welches ich in der Unit uplWebSocket ist nur '/' drin im Parameter ResourceName.

Ich suche bereits seit Stunden im Internet, nach einer Möglichen Lösung.

Im Anhang findet ihr ein Beispiel Projekt. Welches ich extra Erstellt habe. Ich hoffe ich habe alle Dateien reinkopiert.

Also, mein Ziel ist es Externe Dateien mit dem WebSocketServer zu laden wie z.b. im header angegebene JavaScript Dateien oder CSS Dateien und der gleichen.
Der Hintergrund ist: So könnte ich Fertige JavaScript Lib's einsetzten um die Dastellung der Daten zu verbessern.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6652
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

Beitragvon pluto » 24. Apr 2017, 13:33 Re: WebSocketServer externe javaScript Dateien laden?

So wie es aussieht habe ich eine Möglichkeit gefunden, bin mir aber noch nicht 100% sicher:
In der Datei WebSocket2, wird das Event onLoadDefaultSite aufgerufen. Das habe ich hinzugefügt um eine index.html zu laden.
jedoch ohne zu wissen, dass es hier noch andere Anfragen vom WebClient gibt beim laden einer Seite. Diese Stelle habe ich nun als Beispiel so geändert:
Code: Alles auswählen
 
           if assigned(fOnLoadDefaultWebSite) then begin
             if fncResourceName = '/' then begin
               fOnLoadDefaultWebSite(OutputDataString);
                                       ;
               Header:='HTTP/1.0 200 '+#13#10+
                      'Content-type: Text/Html; charset=ISO-8859-1'+#13#10+
                      'Content-length: '+inttostr(Length(OutputDataString))+#13#10+
                      'Connection: close'+#13#10+#13#10;
               aSocket.SendString(Header+OutputDataString);
             end
             else begin
               if fncResourceName = '/scriptA.js' then begin
                 OutputDataString:='function Testa() {'+
                                   'alert("test");'+
                                   '}  Testa();';
 
 
                 Header:='HTTP/1.1 200'+#13#10+
                         'Content-type: text/javascript'+#13#10+
                         'Content-length: '+inttostr(Length(OutputDataString))+#13#10+
                         'Connection: close'+#13#10+#13#10;
                 aSocket.SendString(Header+OutputDataString);
               end;
             end
           end;
 

Ob das nun richtig ist oder nicht, aber es scheint bei Google-Chrome jedenfalls zu klappen. alert wird ausgeführt und eine Fehlermeldung in der Console ist auch verschwunden nur noch das mit dem favoicon.ico ist noch vorhanden. Aber ich bin erst mal ein Schritt weiter gekommen, denke ich.

ich werde das Event ändern, so dass ich das Nachladen von angeforderten resource auslagern kann.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6652
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.3 | 
CPU-Target: AMD
Nach oben

• Themenende •

Zurück zu Netzwerk



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried