Frage

Gibt es irgendwelche Vorlagen / Muster / Guides, die ich für die Gestaltung einer Multithreaded-Server folgen kann? Ich kann nicht alles schrecklich nützlich online über meine Google-Suchen finden.

Ihr Programm einen Thread startet für Verbindungen hören mit TcpListener. Jeder Client-Verbindung wird durch seinen eigenen IClientHandler Thread behandelt werden. Der Server wird die clientHandler.HandleClient in einem Delegierten wickeln, rufen Sie BeginInvoke, und dann über sie aufhören zu kümmern.

Ich muß auch in der Lage sein, das Hören Thread zu sauber shutdown, die etwas ist, ich bin nicht viel exampes von Online zu finden.

Ich gehe davon etwas Mischung aus Sperr- / AutoResetEvents / Einfädeln Magie mit dem Asynchron BeginAceptTcpClient kombiniert und EndAcceptTcpClient wird mich dorthin gelangen, aber wenn es um Netzwerk-Code kommt, ich es ist alles getan worden. Also muss ich glaube, es gibt nur einige Muster da draußen kann ich folgen und nicht vollständig durch die unzähligen multithreaded Eckfällen verwirrt werde ich nie perfekt scheinen, zu erhalten.

Danke.

War es hilfreich?

Lösung

Seltsamer können Sie etwas auf einem Computer Science Zuordnung finden, CSC 512 Programmierung Aufgabe 4: Multi-Threaded-Server Mit Mustern . Altough es ist C ++ Voodoo aber die Theorie ist durchaus verständlich für jemanden, der C # tun können.

Altough können Sie die ganze Liste von schönen Lesungen auf dem Hauptseite bekommen .

Andere Tipps

Werfen Sie einen Blick auf diese vorherige Frage:

Wie sehen Sie die Anzahl der Threads minimieren in einer tCP-Server-Anwendung verwendet?

Es ist nicht streng C # spezifisch, aber es hat einige gute Ratschläge.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top