문제

나는 브라우저 내에서 Gmail과 같은 메시징을 구현하는 방법을 찾고 있었고, 혜성 개념.그러나 IIS 내에서 이 작업을 수행할 수 있는 좋은 .NET 구현을 찾지 못했습니다(우리 응용 프로그램은 ASP.NET 2.0으로 작성되었습니다).

내가 찾은(또는 생각할 수 있는) 솔루션은 사용자별로 실행 중인 스레드를 남겨두어 사용자가 메시지를 받으면 응답을 반환할 수 있도록 하는 것입니다.물론 이것은 전혀 확장되지 않습니다.

그래서 내 질문은 - 다른 방식으로 작동하는 Comet용 ASP.NET 구현을 알고 있습니까?IIS에서도 가능합니까?

도움이 되었습니까?

해결책

Comet은 지속적인 연결성으로 인해 IIS로 확장하기가 어렵지만 현재 Comet 시나리오를 검토하고 있는 팀이 있습니다.또한 보세요 Aaron Lerch의 블로그 나는 그가 ASP.NET에서 초기 Comet 작업을 수행했다고 믿기 때문입니다.

다른 팁

웹싱크 IIS/.NET 파이프라인에 직접 통합되는 표준 호환 확장형 Comet 서버입니다.또한 요청 시 호스팅 서비스로 제공됩니다.

공식적으로는 서버 노드당 최대 20,000개의 동시 클라이언트 연결을 지원하지만 개별 테스트에서는 최대 50,000개까지 증가한 것으로 나타났습니다.메시지 처리량은 동시 클라이언트 약 1,000~5,000명 정도에서 최적이며 단일 노드에서 초당 최대 300,000개의 메시지가 전달됩니다.

여기에는 JavaScript, .NET/Mono, iOS, Mac OS X, Java, Silverlight, Windows Phone, Windows Runtime 및 .NET Compact에 대한 클라이언트 측 지원과 .NET/Mono 및 PHP에 대한 서버 측 지원이 포함됩니다.

클러스터링은 기본적으로 SQL Server 또는 Azure 캐싱을 사용하여 지원되지만 거의 모든 용도(Redis, NCache)에 대해 사용자 지정 공급자를 작성할 수 있습니다.

부인 성명: 저는 이 제품을 개발하는 회사에 근무하고 있습니다.

나는 최근에 다음과 같은 글을 썼습니다. 긴 폴링 채팅 서버의 간단한 예 MVC 3 비동기 컨트롤러를 기반으로 사용 Clay Lenhart의 훌륭한 기사

당신은 사용할 수 있습니다 AppHarbor 배포에 대한 예 BitBucket 프로젝트의 소스를 기반으로 설정했습니다.

또한 더 많은 정보는 내 사이트에서 확인할 수 있습니다. 프로젝트를 설명하는 블로그 게시물.

실제로 ASP.NET을 사용하여 Ajax 지원 웹사이트를 만드는 방법에는 여러 가지가 있지만 솔직히 말하면 포크인 Comet Ajax 지원 웹 애플리케이션을 만드는 가장 쉬운 방법입니다.우리 회사의 프로젝트 중 하나를 저장했습니다.

다음을 살펴보실 수도 있습니다. 카징 엔터프라이즈 게이트웨이 Comet 방식을 완전히 대체하고 브라우저와 애플리케이션 서버 간의 전이중 연결을 가능하게 하는 webSocket [HTML5] 게이트웨이의 프로덕션 릴리스를 만들었습니다.

다음을 살펴보실 수도 있습니다. 라이트 스트리머 데모

나는 오래 전에 맞춤형 http 스트리밍 서버를 활용하는 채팅 사이트를 사용한 적이 있습니다.나는 실제로 순전한 호기심으로 한 지점에서 그 소프트웨어를 재현했는데, 충분히 쉽게 할 수 있다고 생각합니다.저는 IIS, 특히 ASP.NET에서 비슷한 유형의 "무한 요청"을 구현하려고 시도하지 않을 것입니다. 요청이 스레드 풀 스레드(또는 비동기 처리기가 사용되는 경우 IO 스레드)를 무기한으로 묶기 때문입니다. 스레드 풀 구성이 허용하는 한 서버당 너무 많은 양을 처리합니다.

그러한 기능에 대한 정당한 필요성이 강력하다면 이를 위한 사용자 정의 http 서버를 솔직하게 작성할 것입니다.

나는 이것이 귀하의 질문에 실제로 대답하지 않는다는 것을 알고 있지만 입력이 관련이 있을 수 있다고 생각했습니다.

WS-I 그룹은 다음과 같은 내용을 발표했습니다. "신뢰할 수 있는 보안 프로필" 유리 물고기가 있고 .NET 구현 분명히 상호 운용 잘.

운이 좋으면 자바스크립트 구현도 가능합니다.

다음을 사용하는 Silverlight 구현도 있습니다. HTTP 이중. 당신은 할 수 있습니다 Silverlight에 자바스크립트 연결 푸시가 발생할 때 콜백을 가져오는 개체입니다.

또한 있다 상업용 유료 버전 또한.

내 생각에 Comet 접근 방식은 웹 팜을 수평으로 확장할 준비가 되어 있지 않으면(혼합에 더 많은 웹 서버를 추가하여) 실제로 확장 가능하지 않다고 생각합니다.작동 방식은 사용자 세션마다 TCP 연결을 열어 두어 서버가 때때로 해당 연결에 항목을 푸시하여 사용자에게 변경 사항이나 활동을 즉시 알릴 수 있도록 하는 것입니다.

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