Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem mehr
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen,
in diesem Thread habe ich ein paar Anregungen für ein Netzwerkprotokoll gesucht. In der Hoffnung, dass mir ein paar Leute beim Testen helfen und vielleicht noch einige Verbesserungsvorschläge auftauchen, präsentiere ich hier schonmal den aktuellen (voll funktionsfähigen) Fortschritt. Die wichtigsten Features im Überblick:
Weitere Informationen:
Eine (einfache) Demo Anwendung habe ich als Anhang hinzugefügt. Ich würde mich über jeden Test und vor allem auch über Verbesserungsvorschläge sehr freuen :) Viele Grüße Zacherl |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Uff... ich schau mir das gearde an. Hast du auch dazu eine Demo :D Dann würde ich mir erstmal schneller einen Überblick schaffen können. Eventuell würde ich sie dann in mein bestehendes Protkoll einbinden, ich war die ganze Zeit auf der Suche nach soetwas, denn im Moment kommt in meinem Projekt der Punkt, wo es um das übertragen von Dateien geht, und da wird es schon ziemlich schwierig selbst was auf die Beine zu stellen. Ein ordentliches Protkoll kommt mir da sehr recht :) Und ich arbeite auch gearde mit der Verschlüsselung... Da läuft im Moment auch nicht alles rund :S
|
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Hatte im Moment leider noch ein paar andere Sachen zu tun, deshalb ist die Entwicklung der Demo etwas eingeschlafen. Werde die Tage mal dran weiterarbeiten, bzw. kann dir gerne die unfertige Demo schonmal vorweg per PM schicken, wenn du magst. Ist soweit eigentlich alles drinnen, was man braucht, um sich einzuarbeiten.
|
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Hier mal ein kleines Update:
Die meisten Anregungen aus dem Konzept Thread habe ich aus Zeitgründen noch nicht eingebaut, allerdings habe ich jetzt mal eine kleine Demo Anwendung hinzugefügt. |
Dieses Thema wurde am "10. Oct 2012, 13:26 Uhr" von "SirThornberry" aus dem Forum "Netzwerke" in das Forum "Software-Projekte der Mitglieder" verschoben.
|
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Bin auch gerade auf der Suche nach einer Möglichkeit Daten zu übermitteln - wobei dein Projekt für mich wohl ein Paar Größenordnungen zu überdimensioniert ist :lol:
Könntest du evtl. eine .Exe hochladen ? Kann das Projekt leider nicht öffnen mit meinem Delphi7 (klappt auch nicht wenn ich, wie du schoneinmal geschrieben hast, WinApi.Windows in Windows umändere. Dann meckert er, dass eine Vcl.Forms.dcu fehlt ..) Klingt auf jedenfall vielversprechend :thumb: |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Zitat:
Mit XE2 wurden Namespaces für Units der RTL/VCL eingeführt. System.SysUtils (System.SysUtils.pas bzw. System.SysUtils.dcu) WinApi.Windows WinApi.Messages Vcl.Forms Vcl.Dialogs ... (in D2009 fing es mit den Units der Generics an, wo Punkte in Namen verwendet wurden) |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
@Zacherl:
Ich habe es mir gerade aus Neugier grob angeschaut. Deinen Ansatz/Aufbau finde ich gut, erstmal :thumb: Bei mir hat alles ohne jegliche Fehler geklappt. Als Anregung würde ich Support von verschiedenen Socketkomponenten vorschlagen, aber das steht glaube ich auch schon auf Deiner ToDo-List, wenn ich mich recht an die Kommentare erinnere. Greetz Data P.S.: wenn Du noch mehr Funktionen mit Demo einbaust teste ich gerne |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Praktisch.
Eine Frage: Ist "Intelligenter Datenempfang" eine Alternative zur "Trennung von Datenpaketen"? Kann ich auch intelligent senden, also nicht nur Dateien, sondern auch Daten? |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Erstmal danke fürs testen euch beiden :)
Zitat:
Zitat:
Beim Empfänger kommt dann der "Intelligente Datenempfang" ins Spiel. Hat man einfache Daten, sagen wir mal einen Steuerbefehl mit ein paar Parametern, würde man diesen ja gerne "in einem Rutsch" empfangen, ohne ggfls. erst die Teilpakete wieder zusammensetzen zu müssen. Für diesen Zweck gibt es im OnTransferInit Event den variablen Parameter AutoCollectData. Ist diese Funktion aktiviert, sammelt der IOHandler alle eingehenden Daten eines Transfers in einen Buffer und löst das OnTransferFinish Event erst bei vollständigem Eingang aller Daten aus. Für große Dateien macht dies natürlich keinen Sinn, da man hier schnell wieder Speicherprobleme bekommen würde. Außerdem will man bei einem Dateitransfer die Datei in der Regel auch auf Empfängerseite wieder als solche speichern und nicht im RAM behalten. Hier kann man dann AutoCollectData deaktivieren, was bewirkt, dass bei jedem Teilpaket das OnTransferData Event aufgerufen wird. Das erlaubt es dann die Daten z.b. analog zum Sender per WriteFile() wieder in einer Datei abzulegen. |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Ist das nur ein Konzept oder soll das ernsthaft verwendet werden? Wenn ja, solltest Du in der Unit dxIDTPEncryptionProviderRCx nicht das Delphi-Random verwenden, was ja bekanntermaßen nicht besonders geeignet ist für Kryptoanwendungen. Außerdem wird es noch weiter verschlimmbessert durch
Delphi-Quellcode:
, gemeint ist wohl
Salt[I] := Random(255)
Delphi-Quellcode:
.
Salt[I] := Random(256)
Edit: Weiter ist mM ein Offset-Fehler mit Bufferoverflow-Potential vorhanden: In
Delphi-Quellcode:
muß die 1 doch wohl durch 0 oder Low(Salt) ersetzt werden.
RCxEncode(FRCx, Salt[1], Output^, FSaltLength)
Gruß Gammatester |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Werde ich mir, wenn ich zu Hause bin nochmal anschauen. Kann sein, dass ich beim Salt vorher einen String verwendet habe und der Index 1 noch ein vergessenes Überbleibsel ist. Zur Random Funktion bzw. kryptographischer Sicherheit: Der RCx Provider dient als Beispiel. Du kannst dir gerne mit DEC einen AES Provider basteln, der auch die sicheren Random bzw. Salt Funktionen vom DEC verwendet. Primär geht es hier aber auch um das Protokoll und nicht um die verwendete Verschlüsselung oder Kompression.
|
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
|
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Leute ... :/ Ist zwar schön, dass ihr hier so toll auf die Verschlüsselung eingeht, aber hier geht es primär um das Protokoll. Die Verschlüsselung ist ein Feature das so umgesetzt ist, dass sich jeder User durch Ableiten vom entsprechenden Provider eine eigene Variante implementieren kann. Darin kann man dann jede erdenkliche Crypto Lib verwenden.
Bleibt bitte bisschen beim Thema. Der Hinweis von gammatester bezüglich des falschen Idizes ist definitiv wichtig, aber ich möchte hier keine Diskussion welche Crypto Lib am besten ist oder welcher Random Number Generator eine optimale kryptographische Sicherheit erzielt :) |
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
So war es auch nicht gemeint, sollte nur unterstreichen, das es eben funktionierende Klassen gibt, eben weil es hier um das Protokoll geht. Sieh es als Ergänzung/Empfehlung/Beigabe.
|
AW: Netzwerkprotokoll mit Verschlüsselung, Kompression, Prioritätssystem und vielem m
Zitat:
@gammatester: Du hattest recht, der Index 1 und die 255 im Random sind falsch. Werde ich korrigieren und beim nächsten Update integrieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 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