2013-05-17 4 views
4

우리는 채팅 응용 프로그램을 개발하려는 웹 사이트를 만들고 있습니다. 우리는 이미 Comet을 사용하여 빌드했지만, 속도 요소로 인해 XMPP에서 하나를 만들기로했습니다.XMPP와 HTML5 웹 소켓 비교

그러나 HTML5가 살아 있고 새로운 웹 소켓 기술이 존재하는 경우 XMPP를 종료하고 대신 웹 소켓을 사용해야합니까?

그래서 제 질문은 다음과 같습니다

  1. 나는 모바일 앱을 만들어 내 서버에 XMPP에 연결할 수 있습니다, 전화를 통해 WebSocket을 기반 채팅 응용 프로그램에 연결하는 방법 이? (안드로이드 예를 들어 헤로인 라이브러리, WebSocket을위한 기반 응용 프로그램 비슷한가?

  2. 이 사람이 채팅 응용 프로그램을 기반으로 WebSocket을위한 오래된 브라우저 를 사용하는 경우 대체 옵션이 말인가요?

  3. 더 많은 오버 헤드가 어떤 기술이 더 빨리 또는 더 나은? 또한

, XMPP는이 테스트 기술은 여전히 ​​잘 많은 도서관을 필요로 시도라고 할 수있다? 이러한 등등 Strophe.js flXHR로 인 맞지?하지만 isin 영원한 도서관 등이 없으면 이런 유형의 HTML5가 만들어지지 않았습니까?

감사합니다,

+1

XMPP는 시험되고 검증 된 진정한 프로토콜입니다. 거기에 문제 없습니다. 매우 가볍습니다 (한 서버에서 수천 명의 동시 사용자를 쉽게 처리 할 수 ​​있음). http://socket.io/와 함께 node.js 서버를 작성하는 것도 또 다른 옵션 일지 모르지만, 확실히 나에게 바퀴를 재발명하는 것처럼 느껴진다. – Kevin

+1

사실 그렇지만 strophe.js 및 flXHR 등과 같은 라이브러리를 사용하는 대신 HTML5 웹 소켓 자체가이 용도로 사용됩니다. –

+0

참. 나는 몇 가지 간단한 예를 만들고 어느 것이 당신의 표준에 부합 하는지를 볼 것입니다. – Kevin

답변

12

XMPP 위키 피 디아 페이지 XMPP via HTTP and WebSocket transports에 대한 섹션이 있습니다. 마지막 단락의 상태는 다음과 같습니다.

아마도 실시간 메시징을위한보다 효율적인 전송은 단일 TCP 연결을 통해 양방향 전이중 통신 채널을 제공하는 웹 기술인 WebSocket입니다. WebSocket을 통한 XMPP의 실험 구현이 존재하며이 접근법을 문서화하는 (만료 된) 인터넷 초안이 IETF에 게시되었지만 아직 표준화되지는 않았습니다.

WebSocket은 메시징 용 프로토콜이므로 WebSocket을 통해 XMPP를 구현할 수 있습니다. WebSocket 하위 프로토콜을 더 많이 사용한다면 우리는이 기본 지원을 볼 수도 있습니다. 그러나 그때까지 WebSocket 연결은 단순히 XMPP 프로토콜 메시지의 하위 수준 전송으로 작동합니다.

그래서 "XMPP 또는 WebSocket"의 질문이 아닙니다. XMPP가 요구 사항에 잘 부합된다면 WebSockets을 사용하고 적절한 HTTP 대체 기능을 갖춘 솔루션을 찾고 XMPP 지원을 제공 할 것입니다.

관련 문제