SignalR 원래 웹소켓 기능 없었다.

닷넷 개발자분들 죄송하지만 착각하지 마시지요. 없습니다.

ASP.NET 에 SignalR 을 적용하여 웹소켓 구현하기란 글을 봤다.

하지만 ASP.NET 에 웹소켓 구현 못한다. 절대로.

왜냐? IIS 가 지원을 안해주기 때문이다. 윈섭 2012 전까지는!

IIS 는 톰캣처럼 잦은 연구와 참여, 업데이트가 안되고, 메이저 업뎃마다 구매해야 한다. 서버와 같이.

그렇다 보니 기존 인프라에 웹소켓을 지원하려면 node.js 같은 오픈소스를 쓰던가 해야 한다.

갑자기 삼천포로 흘러갔네..

이제 윈섭 2012에서 네이티브 웹소켓이 지원되고, 마소가 공식적으로 SignalR 을 지원하기 때문에 웹소켓 된다는 소리는 이제 해도 된다. 단, 서버 환경이 윈섭 2012이고 SignalR 버전이 2.x 라면.

그럼 웹소켓 없으면 뭘로 통신을 주고받냐고?

Comet 안해보셨나.. 새삼스럽게…

  • HTML 스트리밍 (Transfer-encoding: chunked)
  • 롱 폴링(Long Polling)
  • 걍 폴링(Polling)

코멧 기술은 훈스닷넷 가면 졸라 친절하게 가르쳐 주니 거기서 배우고 오도록. (http://www.hoons.net/Lecture/View/521)

대신 웹소켓이 아니라서 node.js 처럼 성능을 기대하긴 어렵지만, SignalR은 정말 대단하다고밖에 못하겠다.

조또 없는 마소의 IIS 웹환경을 최대한 활용하여 성능을 이끌어낸 것도 용하다.

이건 SignalR에게 있어 최강점이 아닐까 싶다.

결론! 웹소켓 기능은 없었다. 원래부터. 그리고 쓰고싶으면 Self Hosting 쓰던지 윈섭 2012 깔던지.. 아니면 node.js 같은 다른 솔루션 써야 한다.

자바? 자바는 Self Hosting 기반의 웹 프로젝트가 많기 때문에 긴말 안한다. 웹서버 구버전 또는 JEUS만 아니면 웹소켓 된다.

composite / 2013년 11월 20일 / 미분류
태그:, , ,

답글 남기기

Your email address will not be published / Required fields are marked *