문제

멀티 스레드 서버를 설계하기 위해 팔로우 할 수있는 템플릿/패턴/가이드가 있습니까? Google 검색을 통해 온라인으로 유용한 유용한 것을 찾을 수 없습니다.

내 프로그램은 tcplistener를 사용하여 연결을들을 수있는 스레드를 시작합니다. 모든 클라이언트 연결은 자체 ICLIENTHANDLER 스레드로 처리됩니다. 서버는 대의원에서 clientHandler.HandleClient를 래핑하고, 시작 인바 코크를 호출 한 다음, 그에 대한 관심을 종료합니다.

또한 청취 스레드를 깨끗하게 셧다운 할 수 있어야합니다. 이는 온라인의 많은 양을 찾지 못하는 것입니다.

나는 Async Startttcpclient와 결합 된 Lock/AutoreseteVents/Threading Magic의 혼합을 가정하고 endaccepttcpclient가 저를 데려 갈 것입니다. 그러나 네트워킹 코드와 관련하여 나에게는 모두 완료되었습니다. 그래서 나는 내가 따라갈 수있는 패턴이 있다는 것을 믿어야하며, 완전하지 않을 수없는 무수한 멀티 스레드 코너 케이스에 의해 완전히 혼란스럽지 않습니다.

감사.

도움이 되었습니까?

해결책

이상하게도 컴퓨터 과학 할당에서 무언가를 찾을 수 있습니다. CSC 512 프로그래밍 할당 4 : 패턴이있는 다중 스레드 서버. Altough 그것은 C ++ 부두이지만 이론은 C#을 할 수있는 사람에게는 상당히 이해할 수 있습니다.

Altough 당신은 멋진 독서의 전체 목록을 얻을 수 있습니다. 메인 페이지.

다른 팁

이 이전 질문을 살펴보십시오.

TCP 서버 애플리케이션에 사용되는 스레드 수를 어떻게 최소화합니까?

엄격하게 C# 특정은 아니지만 좋은 조언이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top