AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Server mit vielen Verbindungen - Framework?
Thema durchsuchen
Ansicht
Themen-Optionen

Server mit vielen Verbindungen - Framework?

Ein Thema von wicht · begonnen am 20. Feb 2011 · letzter Beitrag vom 20. Feb 2011
Antwort Antwort
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#1

Server mit vielen Verbindungen - Framework?

  Alt 20. Feb 2011, 00:01
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
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

AW: Server mit vielen Verbindungen - Framework?

  Alt 20. Feb 2011, 00:46
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
Leo S.
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#3

AW: Server mit vielen Verbindungen - Framework?

  Alt 20. Feb 2011, 00:54
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
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Server mit vielen Verbindungen - Framework?

  Alt 20. Feb 2011, 01:44
...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...
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#5

AW: Server mit vielen Verbindungen - Framework?

  Alt 20. Feb 2011, 02:02
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.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Server mit vielen Verbindungen - Framework?

  Alt 20. Feb 2011, 04:37
Stichwort: iocp oder hier
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#7

AW: Server mit vielen Verbindungen - Framework?

  Alt 20. Feb 2011, 12:11
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..
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  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 12:08 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