2011-12-21 3 views
3

asp.net/MVC에서 채팅과 같이 혜성을 구현하는 방법에 대한 연구를 수행했습니다. 롱 폴링으로 찾을 수있는 것이 발견되었습니다..Net에서의 LongPolling의 확장 성 : Grand Finale

롱 폴링에 대해서는 스레드를 열어두기 때문에 많은 동시 연결이 만들어지기 때문에 성능이 좋지 않거나 0이됩니다. 많은 동시 연결

이제는 도구를 사용하여 비즈니스를위한 도구 : Pokein, SignalR, SocketIO, Now.Js (유료 도구를 건너 뛰고 무료입니다 :) 꽤 (모두 이러한 asp.net와 함께 사용할 수 있습니다) ..

나는 또한 페이 스북 페이스 북에서 그것을 사용하는 얼랑을 사용하는 방법을 발견했다 &의 1 억 달러 하드웨어 (7 천만 사용자 균형). FB는 일부 혜성 서버가 아닌 긴 폴링을 사용합니다 (내 연구가 진행되는 한).

나는 asp.net MVC 3 에 내가있는이 finalsit을 확장 롱 폴링을 구현하려는 Here하고 here

내가 더 알고 싶은 모든 이유 .. 또한 도구는 가장 적합한 주어진 것들 중

+0

나는 이것이 정말로 당신에게 질문에 답하지 않는다는 것을 알고 있습니다. 그러나 도움이 될 수 있습니다. 아직 살펴 보지 않았다면, 선택 사항의 조합에 추가 할 항목이 iisnode가되어 iis에서 nodejs 응용 프로그램을 호스트 할 수 있습니다. https://github.com/tjanczuk/iisnode –

+0

사실, 저는 동일합니다. 문제. 긴 폴링은 각 클라이언트에 대해 열린 연결을 유지합니다. 연결이 많을수록 IIS는 느려집니다. 이것은 긴 폴링에 대해 알려진 단점입니다. 우리는 기존 라이브러리 Pokein, SignalR, SocketIO이 긴 폴링을 사용하고 더 나은 성능을 가지고 있음을 알고 있습니다. 누구나 IIS 성능을 향상시키는 방법을 공유 할 수 있습니까? –

답변

2

내 생각에 SignalR.WebSockets을 사용하면 사용자 브라우저가 지원하는 경우 자동으로 연결을 웹 소켓으로 업그레이드하기 때문에 SignalR이 더 나은 선택이 될 것입니다. 이렇게하면 시간이 지남에 따라 사용자가 브라우저를 업그레이드하고 긴 폴링 체계에서 벗어나기 시작할 때 채팅 응용 프로그램의 확장 성이 실제로 향상됩니다.

또한 SignalR을 만든 사람들이 만든 JabbR이라는 멋진 코드 예제가 있습니다. (누가 ASP .NET 팀의 개발자 일 수도 있습니다)

http://jabbr.net/ - 실제 작동중인 SignalR의 예입니다.
https://github.com/davidfowl/JabbR - JabbR 출처

+0

덕분에 비동기 컨트롤러 대신 – deepakgates

1

답변을 표시 했는데도 오랫동안 잘 해왔으므로이 답변을 보내고 싶습니다.

두 개의 큰 COMET 플레이어의 솔루션을 사용했습니다. 하나는 websync이고 다른 하나는 PokeIn입니다. 웹 동기화는 좋지만 비쌌습니다. PokeIn을 성공적으로 사용하는 데에는 많은 문제점이있었습니다. 나는 실제로 채팅 서버에 이것을 사용하지 않았지만 일부 외부 프로그램이 구독 클라이언트에 업데이트를 보내거나 푸시하는 푸시 라이브 업데이트에 사용했습니다.

IHttpAsyncHandler 기반 논리를 사용하는 것이 좋습니다. 이는 다시 긴 폴링 기법이지만 클라이언트는 요청을 보낸 후에 리턴하고 서버는 응답을 비동기 적으로 보낼 수 있습니다.

죄송합니다. 필자는 codeplex의 flycomet이라는 프로젝트에서이 예제를 구현했다. 이것은 단순히 요청을 받고 요청 유형에 따라 응답이있는 경우 처리하는 처리기를 가지고 있습니다.

현재 구현은 채팅 서버로 제공되지 않고 Windows 콘솔 푸시 클라이언트 응용 프로그램으로 제공되며 구독자는 asp .net 또는 MVC 또는 실버 라이트에서 올 수 있습니다. 장점은 직접 코드를 조정할 수 있다는 것입니다.

채팅 응용 프로그램으로 수정하려는 경우 jQuery를 통해 데이터를 푸시하는 것이 매우 쉽습니다.

+0

을 사용해 주셔서 감사합니다. 지금은 처음으로 긴 폴링 채팅을하므로 인스턴트 메신저 혼란스러워 ... 제 3 자 도구를 사용 하시겠습니까? – deepakgates

+0

BTW 체크 아웃 플라이콤 지금!! – deepakgates