![]() |
Re: SoNIC - A lightweight network library Version 0.1
Werds auch mal testen.
Zitat:
Zitat:
tr909 |
Re: SoNIC - A lightweight network library Version 0.1
Ich kann auch nur dringend empfehlen, eine der beiden Standard-Bibliotheken zu verwenden.
Die Indy-Bibliothek ist doch nun wirklich ausgereift. Gut, Asynchron arbeitet sie nicht, aber wer das möchte, greift sich eben die ICS-Suite von Francois Piette, der daran nun auch schon bald 10 Jahre arbeitet. |
Re: SoNIC - A lightweight network library Version 0.1
Hallo inherited,
ein Lob für Deinen Ansatz, wobei ich gerade bei der vorhandenen Auswahl (Indy, ICS und Co) denke, es wäre zu viel Arbeit auf Dauer für Dich alleine. Es gibt bei Torry etliche Komponenten/Units, die ähnliches versuchen. Zitat:
Das größte Problem liegt an der "Klassen-Orgie" innerhalb der Indys. Viele haben einfach damit ein Problem, sich da einmal einzulesen. Aber ich habe mich auch in die Indys einarbeiten können... Zitat:
Aber die Komponente jetzt in TIdTryToAntiFreezeMyAppForDummies umzubenennen wäre auch keine Lösung. Zitat:
Denke an den Funktionsumfang von ICS (100 .pas Units) oder Indy (jetzt 352 .pas Units in Core/System/Protocols). Da sind ja nicht nur Units für Delphi/FPC, Sockets für Windows und Linux, sondern auch IPv4/IPv6 Unterstützung, Hash und Enconding/Decoding, Typumwandlungen und Prüfungen, RFC Standard-Umsetzungen, Server/Client-Abstraktionen, FTP List-Parser für die verschienen Gegenstellen (bei Indy allein ~ 40 Dateien), SSL Protokolle, SSH für kommerzielle Komponenten etc.pp. Du brauchst auch -sehr- viel Hintergrundwissen in Bezug auf die Eigenheiten der unterschiedlichen Implementationen von "Standards", zu denen Du eine Verbindung herstellst. Zusätzlich kommt der administrative Aufwand und die Kompatibilität zu älteren (und neueren) Delphi Versionen und Windows Versionen hinzu. Arno Garrels, der am ICS mit(ge)arbeitet (hat?) schrieb einmal, daß einige ICS Klassen, wie z.B. TSmtpClient/TFtpClient endlose if-then-else Spagetti-Code enthalten. Bei den Indys sind es halt die vielen verkapselten Klassen... Grob gesagt: ICS = protokollnah, Indy = Verkapselte Klassen für hohe Abstraktion. Das manche Programmierer, gerade Einsteiger, bei mangelndem Leitfaden hier überfordert sind, trifft sicherlich zu. Aber das macht den Code nicht schlecht, defekt oder was sonst auch immer in den einzelnen Threads vorgeworfen wird. Genau so wie es Threads gibt mit "wie Programmiere ich einen Treiber in Delphi" oder "wie Programmiere ich ein Betriebssystem in Delphi" - am besten innerhalb von einem Tag - gibt es bei den Indys auch fehlende Grundkentnisse beim Programmierer, die zu Problemen führen. Ich habe mich seit ich hier bin für die Indys erwärmen können. ICS ist sicherlich nicht schlecht, eben anders und für andere Problemstellungen. Der Vorteil für mich war, daß die Indys gleich bei Delphi dabei waren und so einem Ausprobieren nichts im Wege stand. Gruß Assertor Just my 2 Euros (too long for 2 ct) |
Re: SoNIC - A lightweight network library Version 0.1
Zitat:
Für solche Anwendungen sind die Indys wohl oversized. Und daher auch meine (mehr oder minder) Abneigung zu den Indys. Was mir persönlich fehlt ist eine Komponente die ich auf meine 2 Forms haue, der ich sagen kann "Connect('1.2.3.4')" dann "Send('mein text')" und bei der anderen Anwendung klappert ein "OnReceive(SenderIP, Text)" rein und ich kann wieder mit "Send" antworten. Mehr müsste solch eine Komponente (für mich) nicht tun. Bisher hatte ich bis auf Telnet keine wirkliche Anwendung für ein "echtes" Protokoll. Ich glaube was einfach extrem nervig bei den Indys ist, ist dass man hier und da nen Beispiel findet aber man dieses nie verwenden kann weil man immer die falsche Version hat :? Eine Indy-Wiki mit Beispielen, Erklärungen und Problembehandlungen wäre das was man zur "Rufverbesserung" der Indys bräuchte. Und darin muss dann auch eine Trennung zwischen den 9ern und 10ern. Also bitte nicht falsch auffassen aber das sind (leider) meine Erfahrungen mit den Indys. Gruß Reli |
Re: SoNIC - A lightweight network library Version 0.1
Zitat:
Genau für Noobs wie dich (und mich) sind die Indys ja auch gemacht. Wenn man keine Ahnung von TCP und dem ganzen Schmuh hat und eine einfache Remote-Funktionalität benötigt, dann sind die Indy's eben genau das Richtige. Ich hab keinen blassen Schimmer von dem Zeugs, aber mit den Indys komme ich klar. Genau wie Du will ich eine einfache TCP-Funktionalität, wo ein Client einem Server was schickt und der antwortet irgendwie. Mit den ICS geht das auch und viel performanter, aber man muss sich mit ('Igitt') Events und ('Huch!') Statusänderungen rumschlagen. Oh, und einen Thread muss man programmieren. Nimm die Indys (sag deinem Scheff aber nix davon), kapsle deren Funktionalität und präsentiere in 5 Monaten (in denen Du gar nix machen musst) deine Wrapper-Komponenten als deine Erfindung... (Hauptsache Scheff kommt nicht dahinter) |
Re: SoNIC - A lightweight network library Version 0.1
Hallo,
ich bin erstmal überrascht wie unglaublich viel Rückmeldung in so kurzer Zeit gekommen ist. Ich versuche mal alle Klarheiten zu beseitigen. Zitat:
Es soll für etwas schnelles stehen, ich mag Igel, NIC hat was mit Netzwerk zu tun -> SoNIC, fertig. Zitat:
Auch möchte ich auf die Implementierung der abstrakteren Protokolle verzichten, wenn jemand Lust hat, kann er aber gerne eine Erweiterungsunit schreiben, die die enthält. Zitat:
Zitat:
Bevor ich aber groß was erweitere, muss ich erstmal wissen ob das soweit läuft. |
Re: SoNIC - A lightweight network library Version 0.2 08.09.
Ich habe eine neue Version hochgeladen. Neben Fehlerkorrekturen steht jetzt auch eine TCP-Server-Komponente zur Verfügung. Changelog und neue Version im ersten Post :firejump: :firejump:
|
Re: SoNIC - A lightweight network library Version 0.2 08.09.
[x] Du bist beratungsresistent.
[x] Du bist Enthusiast [x] Du lässt dich nicht runterkriegen |
Re: SoNIC - A lightweight network library Version 0.2 08.09.
Es gibt jetzt auch eine (noch ziemlich rudimentäre) Website:
![]() Zitat:
|
Re: SoNIC - A lightweight network library Version 0.2 08.09.
Zitat:
Alzeimar ist [ ] doof [x] hat mich zum Lachen gebracht Danke alzaimar! Sorry für offtopic :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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