ASP.NET SignalR 2.0: 지원되는 플랫폼

등록일시: 2014-01-07 08:00,  수정일시: 2016-09-02 07:36
조회수: 5,916
이 문서는 ASP.NET SignalR 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

본문에서는 SignalR이 어떤 서버와 클라이언트들을 지원하는지 살펴봅니다.

SignalR은 다양한 서버와 클라이언트 환경들을 지원합니다. 더불어 전송방식 옵션에 따라 각각 자체적인 요구사항들을 만족해야 하는데, 만약 특정 전송방식에 대한 시스템 요구사항을 충족하지 못하면, SignalR이 이에 대처하여 자연스럽게 다른 대안 전송방식으로 전환해줍니다. SignalR이 지원해주는 전송방식들에 대한 보다 자세한 정보는 이전 문서의 전송방식들(Transports)과 그 대안(Fallbacks) 절을 참고하시기 바랍니다.

서버 시스템 요구사항

SignalR의 서버 구성 요소는 다양한 서버 구성 환경에 호스트 될 수 있습니다. 이번 절에서는 지원되는 운영체제, .NET 프레임워크, 인터넷 정보 서비스(Internet Information Service), 그리고 기타 컴포넌트들의 버전에 관해서 살펴봅니다.

지원되는 서버 운영체제

SignalR의 서버 구성 요소는 다음과 같은 서버 또는 클라이언트 운영체체에서 호스트 될 수 있습니다. 다만, SignalR에서 WebSocket을 사용하기 위해서는 Windows Server 2012나 Windows 8이 필요하다는 점을 기억해두시기 바랍니다 (Windows Azure 웹 사이트에서도 .NET 프레임워크 버전이 4.5로 설정되어 있고, 사이트 구성 페이지의 웹 소켓 항목이 활성화되어 있으면 WebSocket을 사용할 수 있습니다).

  • Windows Server 2012
  • Windows Server 2008 r2
  • Windows 8
  • Windows 7
  • Windows Azure

지원되는 서버의 .NET 프레임워크 버전

SignalR 2.0은 .NET 프레임워크 4.5에서만 지원됩니다. SignalR의 신뢰성, 호환성, 안정성 및 성능 향상을 위한 업데이트에 관해서는 권장 업데이트 절을 참고하시기 바랍니다. *

* 참고로 SignalR 1.x는 .NET 프레임워크 4.0부터 지원됩니다.

지원되는 서버의 IIS 버전

SignalR은 다음과 같은 버전의 IIS에서 호스트 될 수 있습니다. 이 때, 한 가지 주의해야 할 사항은 개발 등의 목적으로 클라이언트 운영체제를 (Windows 8이나 Windows 7) SignalR을 호스트할 서버로 사용할 경우, 정식 버전의 IIS나 카시니(Cassini)는 피하는 것이 좋다는 점입니다. 왜냐하면 이 두 종류의 IIS에는 동시 접속자가 최대 10명으로 제한되는 제약사항이 존재하기 때문에, 순식간에 이 한계에 접근해서, 과도한 연결이 맺어지거나 빈번한 연결 재설정이 이루어지고, 무엇보다 더 이상 사용하지 않는 연결도 즉시 제거되지(Disposed) 않기 때문입니다. 따라서, 클라이언트 운영체제에서는 IIS 익스프레스를 사용할 것을 권장합니다.

또 한 가지 주의해야 할 부분은 SignalR에서 WebSocket을 사용하려면 반드시 IIS 8이나 IIS 8 익스프레스를 사용해야 한다는 점입니다. 서버는 반드시 Windows 8이나 Windows Server 2012 이상이어야 하고, IIS에서 WebSocket이 활성화되어 있어야만 WebSocket을 사용할 수 있기 때문입니다. IIS에서 WebSocket을 활성화시키는 구체적인 방법은 IIS 8.0 WebSocket Protocol Support 문서를 참고하시기 바랍니다.

  • IIS 8 또는 IIS 8 익스프레스.
  • IIS 7 및 7.5. 마침표로 끝나지 않는 URLs (Extensionless URLs) 관련 업데이트가 필요합니다.
  • IIS는 반드시 통합 모드로 실행되어야 하며, 클래식 모드는 지원되지 않습니다. 클래식 모드로 실행되는 IIS에서 Server-Sent Events 전송방식이 사용되면, 최대 30초에 달하는 메시지 지연이 발생할 수 있습니다.
  • 반드시 호스팅 응용 프로그램이 완전 신뢰 모드에서 실행되어야 합니다.

클라이언트 프로그램 요구사항

다양한 클라이언트 플랫폼에서 SignalR을 사용할 수 있습니다. 이번 절에서는 웹 브라우저, Windows 데스크탑 응용 프로그램, 실버라이트 응용 프로그램, 그리고 모바일 기기에서 SignalR을 사용하기 위한 시스템 요구사항들을 살펴봅니다.

웹 브라우저

다양한 웹 브라우저에서 SignalR을 사용할 수 있지만, 대부분 가장 최근의 두 버전들에서만 지원됩니다. *

브라우저에서 SignalR을 사용하는 응용 프로그램은 jQuery 버전 1.6.4 이상의 주요 버전들을 (1.7.2, 1.8.2, 또는 1.9.1 등) 사용해야 합니다.

다음 브라우저들에서 SignalR을 사용할 수 있습니다: **

  • 마이크로소프트 인터넷 익스플로러 버전 8, 9, 10, 그리고 11. 모던, 데스크탑, 그리고 모바일 버전들에서 지원됩니다.
  • 모질라 파이어폭스: current version - 1, Windows와 Mac 버전 모두.
  • 구글 크롬: current version - 1, Windows와 Mac 버전 모두.
  • 사파리: current version - 1, Mac와 iOS 버전 모두.
  • 오페라: current version - 1, Windows만.
  • 안드로이드 브라우저

브라우저에 대한 요구사항 외에도 각각의 브라우저에 대해 SignalR이 사용하는 다양한 전송방식에 대한 조건들이 존재합니다. 다음 표는 환경에 따라 지원되는 전송방식을 보여줍니다: **

웹 브라우저 전송방식 조건표
전송방식 인터넷
익스플로러
크롬
(Windows 또는 iOS)
파이어폭스 사파리
(OSX 또는 iOS)
안드로이드
WebSockets 10+ current - 1 current - 1 current - 1 지원 안 함
Server-Sent Events 지원 안 함 current - 1 current - 1 current - 1 지원 안 함
영구 프레임 8+ 지원 안 함 지원 안 함 지원 안 함 4.1
롤 폴링 8+ current - 1 current - 1 current - 1 4.1

지원되지 않는 브라우저 *

비록 SignalR이 다양한 브라우저들의 구 버전에서도 별다른 문제 없이 동작은 하겠지만, 개발팀에서는 적극적으로 해당 환경에서 SignalR을 테스트하지도 않을 것이며, 문제가 보고되더라도 대부분의 버그는 수정되지 않을 것입니다.

SignalR이 테스트되고 있는 실제 환경들에 대한 구체적인 정보는 개발팀의 테스트 결과표를 참고하시기 바랍니다.

* 이번 절을 읽어보시면 아시겠지만, 정말로 마지막 두 버전만 지원한다기 보다는 그 이전 버전들에 대한 버그 픽스나 테스트에 리소스를 투자하지 않겠다는 개발팀의 방침으로 생각됩니다.

** 본문의 current version - 1 이나 current - 1 같은 표현이 바로 방금 설명한 것처럼 최신 버전과 그 직전의 버전만 지원하겠다는 개발팀의 방침을 대변하는 것으로 보입니다.

Windows 데스크탑 및 실버라이트 응용 프로그램

SignalR은 웹 브라우저뿐만 아니라, 독립적인 Windows 클라이언트 응용 프로그램이나 실버라이트 응용 프로그램에 호스트 될 수도 있습니다. Windows 데스크탑 응용 프로그램과 실버라이트 SignalR 응용 프로그램에서는 다음과 같은 시스템 요구사항들을 만족해야합니다.

  • .NET 프레임워크 4를 사용하는 응용 프로그램은 Windows XP SP3 이상부터 지원됩니다.
  • .NET 프레임워크 4.5를 사용하는 응용 프로그램은 Windows Vista 이상부터 지원됩니다.

운영체제와 .NET 프레임워크에 관한 요구사항 외에도 환경에 따라 SignalR이 사용할 수 있는 전송방식에 대한 조건들이 존재합니다. 다음 표는 환경에 따라 지원되는 전송방식을 보여줍니다:

Windows 데스크탑 및 실버라이트 전송방식 조건표
전송방식 .NET 응용 프로그램 실버라이트
Web Sockets Windows 8+ 및 .NET 4.5+ 지원 안 함
영구 프레임 지원 안 함 지원 안 함
Server-Sent Events .NET 4+ 5+
롱 폴링 .NET 4+ 5+

Windows 스토어 및 Windows Phone 응용 프로그램

Windows 스토어 응용 프로그램과 Windows Phone 8 응용 프로그램에서도 SignalR을 사용할 수 있습니다. 다음 표는 환경에 따라 지원되는 전송방식을 보여줍니다:

Windows 스토어 및 Windows Phone 전송방식 조건표
전송방식 Windows 스토어/
.NET
Windows 스토어/
JavaScript
Windows Phone/
IE
Windows Phone/
.NET
WebSockets 지원 안 함 Win8+ 8+ 지원 안 함
영구 프레임 지원 안 함 Win8+ 7.5+ 지원 안 함
Server-Sent Events Win8+ 지원 안 함 지원 안 함 8+
롱 폴링 Win8+ Win8+ 7.5+ 8+

권장 업데이트

SignalR 서버에는 다음과 같은 업데이트들을 적용하는 것을 권장합니다:

  • .NET 프레임워크 4.5 관련 업데이트는 여기에서 다운로드 받을 수 있습니다.

  • 마이크로소프트는 정기적으로 ASP.NET에 대한 QFE(역주, Hotfix)를 배포합니다. 가급적 이를 적용하는 것이 좋습니다.