Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Server mit vielen Verbindungen - Framework? (https://www.delphipraxis.net/158503-server-mit-vielen-verbindungen-framework.html)

wicht 19. Feb 2011 23:01

Server mit vielen Verbindungen - Framework?
 
Hallo Forum,

eurer Rat oder eure Erfahrungen sind gefragt.
Ich habe vor, einen Server zu schreiben. Dieser müsste am Ende mit mehreren Tausend Verbindungen gleichzeitig klarkommen, über jede dieser Verbindungen gehen alle paar Sekunden nur ein paar Bytes. Genauer kommt ab und an ein Befehl zum Server, dieser sammelt Daten für die Antwort und antwortet dann. Bei manchen dieser Befehle müssen auch andere Clients über die Verarbeitung dieses Befehls benachrichtigt werden. Das Teil sollte am Ende auf einem Debian-Server laufen. Ich denke, dass ich ein Framework suche, was mir da Arbeit abnehmen kann, in welcher Sprache das ist, ist eigentlich egal, da bin ich erstmal relativ offen. Am wichtigsten ist die Geschwindigkeit.
Hat jemand hier so etwas schon gebaut? Irgendwelche Tipps für ein Framework oder Erfahrungsberichte? Ich würde gern etwas Rat einsammeln, bevor ich mich wochenlang daran versuche, und am Ende (wie so oft) feststelle, dass das dumm war und dass es viel besser geht.

TIA :wink:

Meflin 19. Feb 2011 23:46

AW: Server mit vielen Verbindungen - Framework?
 
Kürzlich drüber gestolpert, daher noch in der History: http://blog.martinfjordvald.com/2010...and-memcached/

Ich habe den Artikel nur überflogen, weiß also nicht, inwieweit das Szenario auf dich genau zutrifft - klingt aber erstmal gut :stupid:

wicht 19. Feb 2011 23:54

AW: Server mit vielen Verbindungen - Framework?
 
Würde gut klingen, wenn ich einen schnellen Webserver einrichten wollte. Das habe ich natürlich so nicht gesagt..
Also, es soll kein HTTP, sondern ein selbst definiertes Protokoll zum Einsatz kommen. Es gibt nur 3-4 Kommandos, das Kommando ist eben ein Byte am Anfang, dann kommt die Länge der Nutzdaten, und danach eben ein paar Bytes Nutzdaten. So ungefähr sollte das laufen.

Trotdem Danke :thumb:

sx2008 20. Feb 2011 00:44

AW: Server mit vielen Verbindungen - Framework?
 
Zitat:

Zitat von wicht (Beitrag 1082991)
...alle paar Sekunden nur ein paar Bytes

Gefühlsmässig würde ich hier mit UDP anstelle von TCP arbeiten.
Bei tausenden TCP-Verbindung kann ein Server an sein Limit kommen weil er ja die ganzen offenen Verbindungen speichern muss.
Bei UDP gibt es diese Probleme nicht.
Allerdings musst du damit rechnen, dass Datenpakete verloren gehen oder doppelt eintreffen.
Man müsste wissen, was das für Daten sind und was damit passieren soll...

wicht 20. Feb 2011 01:02

AW: Server mit vielen Verbindungen - Framework?
 
Dann hole ich noch etwas weiter aus :)..
Also, das soll ein Server sein, der mit meinem Programm streamWriter (Internetradio aufnehmen) kommuniziert. Dieses Protokoll bekommt zuerst ein paar einfache Befehle, die nicht besonders schnell verarbeitet werden müssen. Zum Beispiel einen Stream bewerten oder sowas. Später sollte da noch sowas zu kommen, wie: Benutzer A wünscht sich einen Song. Benutzer B nimmt einen Sender auf, der diesen Song gerade beginnt zu spielen. Diese Information sollte dann an Benutzer A übermittelt werden, damit er weiß, dass sein gewünschtes Lied gerade auf dem Stream von Benutzer B läuft, so dass die Aufnahme gestartet werden kann.
Ob das am Ende klappt, sei erstmal dahin gestellt. Ich weiß, dass das nicht besonders einfach ist, aber ich möchte es trotzdem versuchen.

Aphton 20. Feb 2011 03:37

AW: Server mit vielen Verbindungen - Framework?
 
Stichwort: iocp oder hier

wicht 20. Feb 2011 11:11

AW: Server mit vielen Verbindungen - Framework?
 
:? Das scheint mir, als wäre das für Windows.. sollte aber auf einem Linux laufen. Hmm.. vielleicht wäre es besser, wenn ich die Finger von dieser Idee lasse..


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 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