AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Einfaches Kommunikationsprogramm

Ein Thema von MechMac666 · begonnen am 15. Feb 2021 · letzter Beitrag vom 25. Feb 2021
Antwort Antwort
Seite 2 von 3     12 3   
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#11

AW: Einfaches Kommunikationsprogramm

  Alt 22. Feb 2021, 08:26
Gibts da noch etwas anderes?
Wenn du meiner Empfehlung aus dem zweiten Post folgst, hast du eine Lösung mit WebSockets in enterprise-quality.
So, ich habe das mal getestet. Das Problem ist hierbei das man einen Server braucht.
Also einen wo man selbst bestimmen darf was drauf laufen soll.
Selbst wenn ich mir dafür extra einen Computer kaufe, kenne ich ja immer noch nicht die IP Adresse von dem Ding. (Zumindest nicht wenn die Verbindung neu hergestellt wurde)
Dyn DNS habe ich letztens gekündigt, da zu teuer.



EDIT: Ich habe mir jetzt nen Mini-PC bestellt und nutze das Dyn DNS der Fritz box. Damit werde ich mal weiter probieren...

Geändert von MechMac666 (22. Feb 2021 um 08:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.029 Beiträge
 
Delphi XE3 Enterprise
 
#12

AW: Einfaches Kommunikationsprogramm

  Alt 22. Feb 2021, 09:03
Mir fallen dann noch 2 Möglichkeiten ein:

A. Du hast eine Webseite mit Datenbank

Du greifst per PHP Tunnel auf die Datenbank zu und alle Sicherheitsaspekte löst Du über die Datenbank
PHP-Tunnel via MySql von Andreas
B. Du hast eine Webseite mit FTP

Der Server hat FTP-Zugriff und dieser veröffentlicht seine IP auf der Seite für das Lesen von den Clients.
Danach bauen die Clients eine direkte Verbindung zum Server auf, Dein lokaler PC, über eine Port den Du am
Router freigeben hast. Wenn Du dann die IP hast kannst Du auch das Enterprise-Beispiel nehmen.
Martin Schaefer
Phaeno
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#13

AW: Einfaches Kommunikationsprogramm

  Alt 22. Feb 2021, 10:27
Zu dem mORMot habe ich gerade feststellen müssen das der WebSocket Kram offensichtlich nicht für Android einsetzbar ist.
Es scheitert schon an den Units selbst, ohne das ich irgendetwas programmiert hätte.

Leider ist bei Delphi selbst auch nix dabei (FMX).
Ich suche mal weiter.
  Mit Zitat antworten Zitat
Beach

Registriert seit: 3. Mär 2019
Ort: Hunsrück
46 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Einfaches Kommunikationsprogramm

  Alt 22. Feb 2021, 12:12
[...]
Dyn DNS habe ich letztens gekündigt, da zu teuer.
[...]
Vielleicht auch ne Alternative:
https://selfhost.de/cgi-bin/selfhost?p=cms&article=free
MfG Jürgen
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
455 Beiträge
 
#15

AW: Einfaches Kommunikationsprogramm

  Alt 22. Feb 2021, 12:28
Zu dem mORMot habe ich gerade feststellen müssen das der WebSocket Kram offensichtlich nicht für Android einsetzbar ist.
In deinem Eingangspost stand nichts von Android sondern nur Delphi Programm.

Im Verzeichnis CrossPlatform liegen Units, die laut Beschreibung mit "compile with Delphi for any platform (including NextGen for mobiles), with FPC 2.7 or Kylix, and with SmartMobileStudio 2.1.1". Die WebSocket Unterstützung in den CrossPlatform Units wird nicht erwähnt.

Wenn du auf dem Client WebSocket nutzen willst, dann kannst du die WebApp auch mit TMS WebCore schreiben. Da gibt es eine TWebSocketClient Klasse. SmartMobileStudio hat auch eine TW3WebSocket Klasse. Auch in Lazarus gibt es Unterstützung für Websockets. Damit sollte Android möglich sein. Ich habe angefangen für WebApps TMS WebCore zu nehmen, oder kämpfe mit JavaSript.

Wenn dein Budget sehr knapp ist, mache folgendes: Besorge dir einen VServer Linux bei einem Provider deines Vertrauens, z.B. Webtropia, für 2,0 EUR/Monat, dann hast du deine eigene IPv4 Adresse. Compiliere den Server mit FPC. FPC, Lazarus ID und mORMot lassen sich sehr einfach mit FPCUpDeluxe installieren. Genaue Beschreibung in der mORMot Hilfe.

Bis bald...
Thomas

Geändert von mytbo (22. Feb 2021 um 12:49 Uhr)
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#16

AW: Einfaches Kommunikationsprogramm

  Alt 23. Feb 2021, 10:35
Ich habe gerade mal versucht den mORMot Client mit http://www.websocket.org/echo.html zu verbinden.
Das klappt nicht. Es scheint eine völlig andere "Technik" dahinter zu stecken.
Auch andere Versuche waren erfolglos.
Dieses mORMot kann man wohl nur mit mORMot verwenden.
Allein folgendes "Client.WebSocketsUpgrade(PROJECT31_TRANSMISSION_K EY)"
habe ich in keinem php, Java oder sonst was für Scripten finden können. Da ist nie die Rede von einem Key.

Ich hätte sonst versucht für die Android Geschichte ein php Script auf einem Server zwischen zu schalten.
Oder auch INDY Lösungen (Clienten) habe ich schon gesehen, aber all das nützt ja nix wenn es nicht kompatibel zum mORMot Server ist...
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
455 Beiträge
 
#17

AW: Einfaches Kommunikationsprogramm

  Alt 23. Feb 2021, 14:32
Dieses mORMot kann man wohl nur mit mORMot verwenden.
Allein folgendes "Client.WebSocketsUpgrade(PROJECT31_TRANSMISSION_K EY)"
mORMot kann nicht nur mit sich selbst kommunizieren, verwendet aber als Default oft optimierte Einstellungen für die interne Nutzung.

Die Beschreibung zur Funktion WebSocketsUpgrade() der verwendeten Klasse erklärt dein Problem. In der Hilfe steht folgendes:
Code:
/// upgrade the HTTP client connection to a specified WebSockets protocol
// - the Model.Root URI will be used for upgrade
// - if aWebSocketsAJAX equals default FALSE, it will use 'synopsebinary'
// i.e. TWebSocketProtocolBinaryprotocol, with AES-CFB 256 bits encryption
// if the encryption key text is not '' and optional SynLZ compression
// - if aWebSocketsAJAX is TRUE, it will register the slower and less secure
// 'synopsejson' mode, i.e. TWebSocketProtocolJSON (to be used for AJAX
// debugging/test purposes only)
// and aWebSocketsEncryptionKey/aWebSocketsCompression parameters won't be used
// - once upgraded, the client would automatically re-upgrade any new
// HTTP client link on automatic reconnection, so that use of this class
// should be not tied to a particular TCP/IP socket - use OnWebsocketsUpgraded
// event to perform any needed initialization set, e.g. SOA real-time
// callbacks registration
// - will return '' on success, or an error message on failure
Die Beschreibung findest du in der Unit mORMotHttpClient oder der Hilfe. Suche einfach im mORMot Quelltext nach WebSocketsUpgrade() und lese die Hilfe zu den einzelnen Implementierungen. Die Hilfe ist umfangreich und beschreibt vieles sehr ausführlich.

Einen Blog Artikel über die Verwendung von WebSockets in TMS WebCore habe ich hier gefunden. Vielleicht hilft es dir weiter.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Einfaches Kommunikationsprogramm

  Alt 23. Feb 2021, 18:19
@MechMac666

Ich habe mal so eine asynchrone Kommunikation für einen Server und mehrere Clients gebaut: https://www.delphipraxis.net/190482-...ockettest.html
Das wird für Dich nicht so ganz passen, aber vielleicht ist es mal interessant zum durchstöbern.

Gerade habe ich das mal in einem anderen Projekt eingesetzt, das ging wirklich total easy...
Zum probieren wäre das vielleicht mal möglich...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#19

AW: Einfaches Kommunikationsprogramm

  Alt 23. Feb 2021, 22:38
@Stahli
Vielen Dank dafür. Ich werde es mir ansehen.

Was das andere Betrifft:
Ich habe gemäß der Beschreibung den Key und die Kompression aus WebSocketsUpgrade() im Client herausgenommen.
Dennoch konnte ich nicht mit dem Echo-Server verbinden.
Auch in die andere Richtung war es erfolglos:
Der Versuch Browser-basierte WebSocket Clienten mit dem ChatServer zu verbinden.
Ich habe unzählige Versuche getätigt. Kein PHP bzw. Javascript basierter WebSocket Client konnte sich mit dem ChatServer verbinden.
Im Server habe ich auch den Key leer gelassen und Kompression deaktiviert. (Auch dieses Ajax hatte ich mal raus, hat aber nichts gebracht)
  Mit Zitat antworten Zitat
MechMac666

Registriert seit: 9. Nov 2008
93 Beiträge
 
#20

AW: Einfaches Kommunikationsprogramm

  Alt 25. Feb 2021, 18:31
Ich habe nun eine halbwegs brauchbare Lösung gefunden.
Die Demo31 (EchoServer) lässt sich als chat umbauen. Sie ist mit den WebSockets eines Browsers kompatibel.
Als Windows Client ist leider nichts in dem Paket dabei, aber ich habe in den weiten des Webs etwas auf Indy Basis gefunden.
Unter "IdWebSocketSimpleClient" wird man fündig.
Damit konnte ich den EchoServer erreichen.

Ob letzteres unter Android läuft weiß ich nicht, aber im "Notfall" geht dann der Browser.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz