짧은 대답은 '둘 다'입니다.
XMPP는 실시간 채팅 (및 그 밖의 여러 가지 작업)을위한 응용 프로토콜 세트입니다. 그런 다음 네트워크를 통해 전송되어야하므로 전송 바인딩이 필요합니다. 세 가지 주요 교통 바인딩은 XMPP를위한 있습니다 -
- TCP/IP는, 하나는 일반적으로 장치의 기본 고객과 인터넷에서 사용하는 것 어느 쪽이 전통적으로 할 때 사용한 것입니다 (허튼 소리라고 함)
- HTTP, 브라우저에서 XMPP 사용 (브라우저의 Javascript 응용 프로그램에서는 TCP-IP를 사용할 수 없으므로)
- 최신 브라우저에서 XMPP를 수행 할 때 사용하는 웹 소켓입니다.
브라우저에서 채팅 응용 프로그램을 개발하는 경우 XMPP를 응용 프로그램 프로토콜로 선택하고 웹 소켓 (최신 브라우저) 또는 BOSH (이전 브라우저)를 네트워크 전송. Stanza.io (https://github.com/otalk/stanza.io)와 같은 Javascript 용 XMPP 라이브러리를 사용하는 경우 두 가지를 모두 지원하므로 전송 계층이 아닌 'XMPP'에 대해 생각할 것입니다. 설치 프로그램에서 다른 끝점 에 연결할 수 있습니다.
(채팅에는 '그냥 웹 소켓'을 사용할 수 없습니다. XMPP가없는 웹 소켓을 사용할 수는 있지만 실제로 채팅을위한 자신의 응용 프로그램 계층 프로토콜을 개발하고 있다는 것을 의미합니다. 이미 유용한 속성 (보안, 신원, 확장 성 등)을 작성하고 XMPP 대신 기존 라이브러리 및 서버가있는 작업을 활용하여 많은 시간과 두통을 줄여야합니다.
출처
2014-10-25 09:09:07
Kev
나는 최근에 같은 문제에 빠져 들었다. 나의 대답은 WebSockets을위한 것이었다. Node.JS는 매우 대중적인 언어가되고 있으며 권한에 따라야합니다. XMPP는 괜찮습니다. 제 의견으로는이 구형 기술을 사용하기로 결정하면서 앞으로 나아갈 것입니다. 그러나 노드는 까다로운 동물이므로 JavaScript와는 다르게 접근해야합니다. 당신이 참을성이 있다면 나는 Node를 제안 할 것입니다. 단지 이것을 위해서가 아니라 다른 분야에서보다 쉽게 확장 할 수있게 해줄 것입니다. – JustSteveKing
XMPP는 Extensible Messaging and Presence Protocol이며 Websocket은 포트 80을 통해 전이중 통신을 제공하는 프로토콜입니다. 사과를 오렌지와 비교합니다. – Flow
@Flow : 나는 당신의 의견으로 사과와 오렌지를 비교할 것입니다. 그러나 내가 묻는 것은 실시간 채팅 기능을 제공하는 웹 사이트를 개발할 때 선택해야하는 것입니다. – Khafaga