So schreiben Sie einen skalierbaren TCP/IP-basierten Server [geschlossen]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 So schreiben Sie einen skalierbaren TCP/IP-basierten Server [geschlossen]

Post by Anonymous »

Ich befinde mich in der Entwurfsphase des Schreibens einer neuen Windows-Dienstanwendung, die TCP/IP-Verbindungen für lang laufende Verbindungen akzeptiert (d. h. das ist nicht wie bei HTTP, wo es viele kurze Verbindungen gibt, sondern ein Client stellt eine Verbindung her und bleibt stunden-, tage- oder sogar wochenlang verbunden).
Ich suche nach Ideen für den besten Weg, die Netzwerkarchitektur zu entwerfen. Ich muss mindestens einen Thread für den Dienst starten. Ich denke darüber nach, die Asynch-API (BeginRecieve usw.) zu verwenden, da ich nicht weiß, wie viele Clients ich zu einem bestimmten Zeitpunkt verbunden haben werde (möglicherweise Hunderte). Ich möchte auf keinen Fall für jede Verbindung einen Thread starten.
Daten werden hauptsächlich von meinem Server an die Clients gesendet, aber gelegentlich werden auch einige Befehle von den Clients gesendet. Dabei handelt es sich in erster Linie um eine Überwachungsanwendung, bei der mein Server regelmäßig Statusdaten an die Clients sendet.
Was ist der beste Weg, dies so skalierbar wie möglich zu gestalten? Grundlegender Arbeitsablauf?
Um es klarzustellen: Ich suche nach .NET-basierten Lösungen (wenn möglich C#, aber jede .NET-Sprache funktioniert).
Ich bräuchte ein funktionierendes Beispiel einer Lösung, entweder als Hinweis auf etwas, das ich herunterladen könnte, oder ein kurzes Inline-Beispiel. Und es muss auf .NET und Windows basieren (jede .NET-Sprache ist akzeptabel).

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post