AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation Delphi PHP. Datenstrom komprimieren

Ein Thema von DieDolly · begonnen am 25. Jul 2019 · letzter Beitrag vom 26. Jul 2019
Antwort Antwort
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 25. Jul 2019, 17:37
Ich habe ein Program was Daten an einen Webserver schickt.
Die Länge die da geschickt wird ist noch unkritisch. Aber irgendwann werde ich sicher ans Limit kommen.

Gibt es gemeinsame Methoden in Delphi und PHP, um Strings zu komprimieren und zu dekomprimieren?
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 25. Jul 2019, 17:51
Grundsätzlich gibt es zwei Varianten:
  • Accept-Encoding. Die Umsetzung erfolgt im Client am ehesten mit Indy und auf der Serverseite vom Webserver. PHP kriegt nichts davon mit. Ein verbreiteter Webserver unterstützt in der Regel Deflate/Gzip/Zlib (eigentlich alles dasselbe), vielleicht bzip2.
  • Nutzdaten benutzerdefiniert komprimieren. Die Umsetzung erfolgt durch einen Algorithmus deiner Wahl im Client und in PHP. Auch hier bietet sich Deflate an: In Delphi erstellst du dir einen Delphi-Referenz durchsuchenTZCompressionStream. Beachte, dass du ihn vorm Senden der Daten freigeben muss, weil er erst beim Freigeben die letzten mod $10000 Ausgabe-Byte schreibt. In PHP gibt es dann zlib_decode, das einen String dekomprimiert. Beteiligte Funktionen müssen Binary-Safe sein.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 25. Jul 2019, 19:02
Ich habe schon mal Nutzdaten in der Größenordnung von 4GB an einen Webserver geschickt. Das hat zwar etwas gedauert, aber gemeckert hat der nicht.

Von welchem Größenlimit (>4GB) sprechen wir also?
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#4

AW: Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 25. Jul 2019, 19:16
Ich denke ich spreche hier eher über eine Zeichenkette die 100 bis 1000 Zeichen lang ist. An MB oder gar GB habe ich nie gedacht.
Ich schicke das über ein IdHTTP.Get. Das Get ruft ein Script auf, was mir dann eine gewisse Antwort zurückschickt.

Dass das überhaupt möglich ist
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#5

AW: Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 25. Jul 2019, 19:20
Ok, bei GET sprechen wir in der Regel von einem Limit von 8KB (abhängig vom Server).

Alles was geplant darüber hinaus geht sollte man per POST abschicken. Dort hat man dann quasi kein echtes Limit mehr.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 25. Jul 2019, 19:22
100 - 1000 Bytes ist absolut unkritsch. Ich glaube bis 4K kann eine GET URL gross sein. Ich würde aber dennoch ein Post nutzen, da gibt es keine Beschränkung.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 25. Jul 2019, 20:33
Ich suche mich gerade seit etwa 10 Minuten kaputt und frage mich, warum die Daten mit Post kaputt beim Server ankommen.
Vorher darf man die Daten natürlich nicht encodieren (Leerzeichen umwandeln beispielsweise).

Ich lasse den Server für alle Fälle nochmal htmlentities über alle Parameter laufen. Nur für den Fall.

Geändert von DieDolly (25. Jul 2019 um 20:38 Uhr)
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
648 Beiträge
 
Delphi 12 Athens
 
#8

AW: Kommunikation Delphi PHP. Datenstrom komprimieren

  Alt 26. Jul 2019, 06:53
Hast du beide, also Client und Server, selbst in der Hand? Dann könntest du deine Infos, die du an den Server senden willst, per POST senden (wie ja hier schon geschrieben wurde) und dann nicht als Parameter, sondern einfach im Body des POST. Das macht es viel entspannter und gibt dir mehr Freiheiten. Dazu musst du aber natürlich auch die php-Seite anpassen dürfen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:00 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