PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serverprogrammierung (chat/http-kombo)


Jan Krüger
11.06.2002, 14:00
Hallo,
ich habe vor, eine Serveranwendung in Perl zu schreiben, die an zwei verschiedenen Ports auf verschiedene Verbindungen wartet und beide verarbeitet. Dabei will ich aber nicht fork() verwenden, weil die beiden Verbindungen auf die gleichen (sich ständig verändernden Daten) zugreifen.
Jetzt stelle ich mir zwei Fragen...

1. kann ich das mit non-blocking sockets / IO::Select machen oder muss ich doch auf jeden Fall auf fork() zurückgreifen?
2. wieviele Verbindungen würde der Server wohl in etwa aushalten, bis er überlastet ist (angenommen, der Chat wird voll genutzt, die Hardware entspricht der eines normalen Home-Computers und es laufen keine nennenswerten Hintergrundprozesse)? Kommt Perl mit großen Datenmengen in Echtzeit mit (wenn man effizient programmiert)?


Jonas
11.06.2002, 22:53
Naja, also wegen dem Modul, schau dir am besten mal die Beschreibung oder die Doku bei Cpan.org an

Datenverarbeitung: Da sollte Perl daß eigenltich schon sehr flott erledigen, sag doch mal waß du genau so denkst daß das Script da leisten muss...

Jan Krüger
12.06.2002, 09:58
naja... genau kann ich das noch nicht absehen, aber es sollte auch in der lage sein, viel daten zu managen.
~5000 clients im chat, dazu eventuell noch eine verbindung mit einem weiteren chatserver zwecks verteilung der clients, über den auch nochmal kräftig daten kommen.
außerdem gibts hubs, die mit mehreren normalen servern verbunden sind, aber keine clients annehmen.
vielleicht (in der rush-hour) so bis zu 100Mb/s?

bis jetzt ist das script nicht für ein bestimmtes projekt eingeplant, aber es sollte halbwegs möglich sein, es evtl. auch für größere zwecke zu benutzen.

(edit)habe mir gerade eine methode ausgedacht, wie ich den httpd-teil doch an apache abgeben kann, also: kein HTTP.(/edit)

PS. ja, IRC-protokoll, richtig geraten :D