HTML-Server mit WINS
-
Wie kann man denn jeden einzelnen "Client" eine Session-ID zuweisen und diesen
dann über einen Pointer individuell behandeln?
:xmas1:
Damit kann man doch einzelne Anfragen sperren, wenn diese illegale Aktionen wie Flooding, DoS, etc. durchführen.
Oder soll man gleich die Firewall dafür nutzen, um timeouts zu erzeugen?
-
ich glaube irgendwo in den ganzen Blödsinn hat man in ner struktur irgendwo die Ip adresse von demjenigen dir deinen Server die anfrage stellt damit müsstest du ne zuordnung erstellen können
problem ist aber z.b. das man bei Attacken oft vieler Rechner gleichzeitig nutz um eben diese möglichkeit des Blockens zu fast unmöglich zu machen. Du soltest aber auch darrauf achten die maximale Anzahl an Gleichzeitigen verbindungen zu begrenzen.
Nachste Frage
-
Könntest Du mir noch Tipps zurzüglich der Performance geben?
Welche Modifikationen können die Leistung einsckränken, welche augmentieren?Es ist übrigens sehr, sehr nett von Dir, dass Du Dich so umfangreich
mit den Problemen eines Neulings wie mir beschäftigst!Blueice

-
ich würd mal vorschlagen das wir uns erst mal kümmern das dein Server ordentlich läuft und danach können wir uns den Optimierungen Zuwenden obwohl man sagen muss das es aus sicht dieser kleinen Server nichts so weltbewegendes zu optimieren gibt.
könntest aber mal schreiben wie weit de bist und wie dir die realisierung so vorschwebt?
-
Nun,
Das WINS-Gerüst ist schon mal fertig!
Auch die Prinzipien sind mir klar.
Als Nächstes werden halt die Get, Recv... - Anfragen,
wie sie in der RFC behandelt werden, drangenommen!Ich bin optimistisch.
Blueice,

-
ich glaube Blueice will nur labern.

-
??????
-
muell schrieb:
ich glaube Blueice will nur labern.

Warum sollte ich nur labern wollen?
Mal ehrlich, Mühe habe ich mir schon gemacht.
Es ist nicht so einfach, in C++ zu schreiben!
Besonders dann, wenn man noch nicht so gut darin ist.
Ich möchte ja auch alles vornherein absprechen und sicher gehen,
dass ich meinen Entwurf nicht gleich wieder verwerfen muss!Ich will keinen volllabern, wenn ich hier unerwünscht oder überflüssig
bin, sagt es mir bitte. Es liegt außer meiner Natur Menschen weiter
zu belasten
-
was mich eher interessiert ist wie du es realisiert hast in bezug auf sockets und Threats gemacht ? so mal ne kurze beschreibung des internen aufbaus soweit du halt schon bist
ich hab bei mir z.b. folgenden aufbau
3Threats
den accept, den helper und den client threat
der accept threat behandelt nur anfragen auf port 80 wird dort nen client gefunden erzeugt er für jeden clienten einen client threat und startet notfalls den helper falls dieser nicht schon läuft
der helper threat überwacht die client threats wenn diese eben nach einer gewissen zeit nicht antworten werden sie beendet.und übernimmt auch nach eenden der threats ein paar aufräum arbeiten.
die client threats bearbeiten eben die client anfragen wie dateisenden usw.
-
Das ist ein typisches Anfängerdesign...
Da Funktioniert, wenn Du nur ein paar Clients hast. Sobald aber mehrere Clients sich verbinden wird entweder die Response-Time miserabel (weil das OS mehrere hunderte Threads schedulen muss) bzw. es geht übe haupt nicht, da Du in einem Prozess gar nicht so viele Threads anlegen kannst.
Das Konzept ist also nach oben überhaupt nicht Skalierbar.Arbeite Dich mal in Thread-Pools ein bzw. lese mal Doku zu Bekannten Web-Servern...
-
Hi Jochen.
Sry, dass ich dich so anschreibe - aber ich hab nirgendwo ne Mail-Addy von dir gefunden.
Kannst du dir mal bitte ein Problem anschauen, da ich deinen Antworten hier nach, dir schon n bisschen Knowhow zuschreib und bei mir echt n Brett vorm Kopf is.
--> http://www.c-plusplus.net/forum/viewtopic-var-t-is-130726.htmlThx
-
Und jetzt?
Was nun?
Ihr habt mich jetzt verwirrt.
Sollte kein OOB-Konzept angebracht werden?
Klassen (Client)


-
na erklär doch mal was du bis jetzt hast.
Sollte kein OOB-Konzept angebracht werden?
Klassen (Client)und das erklär mal bitte genauer
-
Objektorientierte Brogrammierung

Sorry - tippfehler meinerseits: OOPJeder Client wird ein Objekt und über die Konstruktoren/Destruktoren verwaltet.
-
Was für ein bescheuerter Thread...
-
meinung schrieb:
Was für ein bescheuerter Thread...
Was soll dass denn schon wieder?

Meinst Du, Du stoesst auf Akzeptanz, wenn Du staendig in diesen Thread reinspammst
und DEINE Meinung ausgibst?
Und wenn Du unbedingt weitermachst, WARUM sagst Du uns einfach nicht WIESO Du dass
die ganze Zeit betreibst.
Es soll ja Menschen geben, die sich mit solchen Hobbies die Zeit vertreiben...
..
Den Nickname gibt es nicht nur um ihn zu verstecken!
BENUTZE ihn!
-
ich möchte nochmal auf dem Post von Jochen Kalmbach bezüglich Threat-Pools zurückkommen
Ich glaub zwar nicht das es beim Webserver das problem geben dürfte weil es reicht ja wenn er mit 50-130 gleichzeitigen Anfragen klar kommt. aber dennoch wäre es ja nicht verkehrt diesen "fehler" zu beseitigen wenns halbwegs leict zu bewerkstelligen ist.
Mein Problem dabei ist nun aber das ich nichts zu diesem Thema finde zwar hab ich den ein oder anderen sourcecode mal dazu gesehen aber irgendwie erkennt man da erstens überhaupt keinen Vorteil noch werde ich darraus Schlau was daran besser ist.
mal abgesehen von der Tatsache das bei diesen Systemen immer ein paar Threats schon vorgehalten werden was Antwortzeit auf einem request verkürzen würde
-
http://www.codeproject.com/threads/cpthreadpool001.asp
http://msdn.microsoft.com/library/en-us/vccore/html/vcconatlserverserverthreadpooldefined.asp
http://www.developers.net/node/view/153Mit .NET wäre das ganze viel einfacher, da es da schon alles fix-und-fertig gibt...
-
du kannst nach IOCP suchen.
-
So geht das auch...
http://www.codeproject.com/internet/IOCP_Server_client.asp