![]() |
Skalierbarkeit und binäre Daten bei Indys
Hallo,
falls diese Frage schon gestellt/beantwortet wurde, würde ich mich über Links freuen: Kann mir jemand sagen, ob die Indys (z.B. TIdTCPServer/TIdTCPClient) grundsätzlich geeignet sind, eine leistungsfähige Server/Client-Anwendung zu bauen? Konkret geht es mir dabei um die Fragen der Skalierung von Hause aus und die Übertragung von Binärdaten anstelle von Text. Ich habe eine entsprechende Anwendung, die auf ![]() ![]() ![]() Gruß und Dank, Alex |
AW: Skalierbarkeit und binäre Daten bei Indys
Indy ... Hmmmmm.
Wenn ich mir so da die Homepage ansehe ( ![]() Seit ein paar Versionen ist auch Indy nicht mehr die #1 Bibliothek für Netzwerkaufgaben. Hier wurde in Delphi eine neue Implementierung durchgeführt die auch unter anderen Plattformen läuft. Also wenn du schon mit Delphi und Linux liebäugelst, sollte es schon ein richtige Linux-Anwendung werden und nicht nur eine WINE-Lösung. Leider wirst du dann aber (für die ersten Jahre?) eine Enterprice-Version benötigen. Aber schau dir aber auch wenn du schon Windows-Fremdgehst auch mal ![]() |
AW: Skalierbarkeit und binäre Daten bei Indys
Gut skalierbar auf Windows und Linux (würde hier definitiv auch kein WINE empfehlen): Boost ASIO (C++).
Für Delphi kenne ich leider keine Lib, die auch nur annähernd so gut ist. Großes Manko der Indys unter Windows ist beispielsweise der fehlende Support für IOCP Server. Unter Unix gibt es da vergleichbare Funktionalität (ebenfalls nicht in der Standard Socket Spezifikation). Auch hier wage ich zu bezweifeln, dass die Indys das implementieren. Allerdings sollte man Skalierbarkeit etwas näher spezifizieren:
Trifft zum Beispiel Punkt 2 nicht zu, dann solltest du auch ohne IOCP und co. keine Probleme haben. |
AW: Skalierbarkeit und binäre Daten bei Indys
Clientseitig ist WinHTTP (die "neue" Netzwerkbibliothek, die Windows Funktionalität kapselt) eine Verbesserung gegenüber WinINet, es ist
![]() Wie der Name allerdings schon sagt, geht es dabei um Client/Server Anwendungen die über HTTP kommunizieren. Andere oder selbst definierte Protokolle lassen sich damit nicht verwenden. Da HTTP aber auch in der Lage ist Binärdaten zu übertragen, ist HTTP nicht 'schlechter', solange man Client und Serverseite kontrolliert. WinHTTP ist allerdings eine reine Client-Implementierung. Einen HTTP Server würde man daher weiterhin anders, zum Beispiel mit IIS, implementieren müssen. Indy unter Linux Bei der Entwicklung des Indy-basierten ![]() |
AW: Skalierbarkeit und binäre Daten bei Indys
Danke für Eure zahlreichen und ausführlichen Antworten. :dp: Mit so viel Power hätte ich nicht gerechnet!
Mein Problem besteht darin, dass die Clients alle auf Windows 10 basieren, weil Software im Einsatz ist, die nur unter Windows läuft. Selbst große Hersteller wie Olympus (Digitale Diktate), Brother, Fujitsu (Scanner) usw. unterstützen Linux nicht wirklich. Die Server wiederum laufen auf Basis von Linux/Samba. Bzgl. der Skalierbarkeit war die Nachfrage schon richtig. Es geht mir in der Tat darum, dass ich heute nicht weiß, wie viel Clients es werden könnten. Der Traffic sollte sich in Grenzen halten, da es im wesentlichen nur um Steuerdaten geht. Den Einwurf mit HTTP muss ich mir mal genauer ansehen. Ich hatte die Indys ins Auge gefasst, weil ich dort schon angefangen hatte, einen Konsolenserver zu basteln, der mit wine läuft. Bevor ich aber weiter alles implemetiere und zig Stunden investiere, wollte ich eben mal nachfragen. Und die hier geäußerten Bedenken zeigen, dass das richtig war! Ungeachtet dessen schaue ich mir gerade doch mal ICS an. Bei den Demos fehlt aber leider der BinTcpSrv, so dass ich die betreffende Demo mit den Binärdaten nicht testen kann. |
AW: Skalierbarkeit und binäre Daten bei Indys
Zitat:
Was du auf Clientseite verwendest ist im Grunde ziemlich egal, behaupte ich einfach mal. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 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