![]() |
Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Hallo,
1) Bitte helft mir im Verständnis: Wenn ich vom Browser Daten an mein Programm sende, dann ist der Browser der "Server" und mein Programm der "Client"?? Oder umgekehrt? 2) Diese einfachen Text-Daten will ich aus Javascript schicken (vielleicht ist da ja schon was falsch? Ich habe auch das passende Meta-Tag gesetzt, siehe ![]()
Code:
Im meinem Delphiprogramm habe ich die TClientSocket-Komponente so eingestellt:
var sock = new WebSocket('ws://localhost','delphitool');
sock.send("Hallo");
Code:
Ich lasse es gleich beim FormCreate öffnen:
ClientType: ctNonBlocking
Host: localhost Port: 0 Service: delphitool
Delphi-Quellcode:
if(ClientSocket1.Active = False) then ClientSocket1.Open;
Dann erzählt es mir jedoch in einer Messagebox beim starten: Zitat:
Was mache ich falsch? Muss ich es mit der TServerSocket-Komponente machen (da bekomme ich aber auch diese Fehlermeldung)?? Schön mal Danke fürs Lesen. |
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Zitat:
Was mir direkt auffällt: Du hast keinen Port definiert. Das musst du aber machen, sonst können die sich ja nicht finden. Also beim Server musst du den vorgeben und der Client sollte dann auf dem gleichen port suchen. |
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Okay, danke schon mal.
Als TServerSocket hatte ich es auch schon, Port auch 8080. Da hab ich diese Fehlermeldung auch bekommen. In der Hilfe steht zu "System.Win.ScktComp.TServerSocket.Service" Zitat:
Im Javascript hat er bei dem WebSocket als Parameter: (adresse, service). Ich bin mir halt unsicher, was da wo hinkommt, weil ich den WebSocket auch noch nicht öffnen konnte... |
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
|
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Zitat:
|
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Du brauchst dir doch nur eine Websocket-Server-Implementierung zu suchen und diese nutzen...
Vielleicht reicht auch ein HTTP-Server? Oder muss es unbedingt websocket sein? |
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Nein, den Tipp mit Websocket hatte ich bekommen, da sah alles ganz easy aus :|
Ich hab überlegt, ob ich mir mit xampp den Apache als Server starte und damit was machen kann?? Der Weg ist halt und alles lokal: Javascript im Browser -> Delphiprogramm Unelegant wäre es, die Daten zu sammeln und als Download zu generieren, dann hätte ich zwar die Daten als Datei, aber in vielen kleinen Fragmenten, die ich dann mit dem Delphiprogramm wieder zusammenzusetzen kann. Aber es gibt sicher auch viel bessere Lösungen?! |
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Möchtest du vielleicht etwas mehr beschreiben, was du genau machst? Vielleicht sind WebSockets (nicht mit den allgemeinen Netzwerk-Sockets bei Delphi verwechseln) ja einfach etwas übertrieben? WebSockets sollen ja vor allem eine wechselseitige Kommunikation zwischen Client und Server im Web erleichtern, mit der es möglich ist, dass der Server (dein Delphi-Programm) eine Information an den Client (den JS im Browser) sendet, ohne dass der Client direkt vorher eine neue Anfrage gesendet hat.
Da du geschrieben hast, dass es dir um "Javascript im Browser --> Delphi-Programm" geht, weiß ich nicht, ob du diese Erweiterung des HTTP-Protokolls überhaupt brauchst. Falls nicht, dann wärst du vielleicht mit einem einfachen ![]() ![]() Wenn du mit Websockets arbeiten willst, dann gibt es für Delphi ein paar Komponenten, die das wohl können, kosten aber ggf. auch etwas. Ich habe die selber aber noch nicht ausprobiert bzw. gebraucht. |
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Hallo Bbommel,
das ist eine gute Anregung. Das andere wäre ja doch wie mit Raketen auf Ameisen. Ich möchte einfach nur eine kleine Textnachricht loggen, fortschreitend in eine Datei, die ich dann mit einem Tool auswerte. Aktuell logge ich die Nachricht in die Browser-Konsole (console.log('bla');). Wenn sich dann ein bisschen angesammelt hat, speichere ich diese Liste bzw copypaste sie in meinen Texteditor in diese fortschreitende Datei. Das Gefummel will ich halt automatisieren, weil ja auch mal die Webseite unerwartet neu laden kann und dann meine ungesicherten Logs weg sind. Ich versuche es mal mit deiner Anregung :thumb: |
AW: Mit Javascript WebSocket in Localhost an mein Prog. Daten senden?
Schau dir doch einfach mal die Delphi Webbroker Doku an und wie einfach das damit zu machen ist. Ich habe damit ein vollwertiges Onlineshop-System gemacht und das funktioniert bei vielen Kunden seit Jahren absolut robust und fehlerfrei.
Webbroker ist glaube ich eines der am meist unterschätzten Feature in Delphi. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz