2010-07-29 2 views
4

저는 Java 기반의 모바일 웹 응용 프로그램을위한 백엔드를 작성하고 있습니다. 확장 성 및 사용 편의성에 대한 궁금증이있었습니다. 장단점은 무엇입니까? 혜성과 같은 Long-Polling 솔루션에 비해 WebSockets를 사용합니다. 또 다른 옵션은 TCP를 사용하여 내 솔루션을 구현하는 것입니다. 필자가 읽은 바에 따르면 많은 수의 사용자를 다루기 시작할 때 Tomcat/Jetty에서 제대로 실행되지 않기 때문에 전용 서버에서 Long-polling 솔루션을 실행해야합니다. WebSockets는 더 나은 음질로 들립니다. Comet을 통해 Websocket을 사용하는 데 따른 단점이 있습니까? 아니면 TCP 연결을 사용하여 자체 솔루션을 사용해야합니까? 최소의 트래픽을 사용하는 옵션을 찾고 있습니다.WebSockets 대 Long-Polling 대 TCP 확장 성/사용 편의성

답변

5

나는 새로운 것들을 배우기위한 usecase와 tolerance에 달려 있지만 확실히 WebSocket API를 통신용으로 사용하거나 SSE를 사용하는 길을 따라 가면 많은 사람들을위한 전통적인 long-polling/Comet 솔루션보다 낫습니다. 이유 - 하나는 언급 한 - 확장 성뿐만 아니라 대역폭 활용도 및 대기 시간에도 해당됩니다. WebSocket이 웹에서 TCP가 데스크탑과 어떤 관련이 있는지 이해하는 것도 중요합니다. 소켓. 데스크탑 솔루션에서는 반드시 TCP에 대해 코드 작성하지 않아도되며 STOMP 나 XMPP over TCP와 같은 전송 프로토콜을 지원하는 클라이언트 라이브러리를 사용합니다. WebSocket을 사용할 때도 동일한 작업을 수행하고, 예를 들어 통신 할 서버를 선택하십시오. XMPP 서버 및 XMPP 클라이언트 라이브러리를 사용하여 WebSocket을 통해 서버와 통신합니다.

here의 예를 볼 수 있으며 docs you can read here입니다.

현재주의해야 할 것은 HTML5 WebSocket의 브라우저 채택입니다. 현재 Chrome 및 Safari에 있으며 곧 FF와 Opera에 제공 될 예정입니다. 우리는이 문제를 해결했지만, 자체 서버를 구축하려는 경우 구형 브라우저를위한 폴백 솔루션을 만들어야합니다.

+0

이 질문의 외부 참조는 이제 죽은 링크입니다. – jfriend00

관련 문제