오픈 소스 WebSockets(JavaScript) XMPP 라이브러리가 있나요?[닫은]

StackOverflow https://stackoverflow.com/questions/1850162

  •  13-09-2019
  •  | 
  •  

문제

WebSocket을 사용하고 브라우저에서 실행되는 오픈 소스 XMPP 라이브러리를 작성한 사람이 있습니까?

도움이 되었습니까?

해결책

아직 XMPP에 대한 표준이 없습니다. 웹소켓 클라이언트 측이 적절하게 처리되기 전에 서버가 구현할 수 있는 것입니다.

첫 번째 단계는 WebSocket 표준화를 완료하는 것입니다.이 글을 쓰는 시점에는 아직 IESG의 승인을 받지 않은 IETF HyBi 실무 그룹에서 이런 일이 발생할 수 있는 것으로 보입니다.몇 주 전 히로시마 IETF 회의에서 HyBi Birds-of-a-Feather(BoF)가 있었습니다(참조: 회의 자료) 꽤 잘 진행됐어요.

WebSocket이 안정적인 참조를 갖고 안정되는 것처럼 보이면 XSF 만들 것입니다 XEP 이는 아마도 WebSocket 프레임당 스탠자를 사용하여 XMPP를 WebSocket에 바인딩합니다.

편집하다:Jack Moffitt가 IETF를 작성했습니다. 인터넷 초안 사용할 수 있는 프로토콜에서 첫 번째 패스를 사용합니다. 경고.이것은 여전히 ​​​​크게 변할 가능성이 있습니다.나중에 완전히 제거하려는 경우에만 구현하십시오. 경고.

다른 팁

여러 솔루션이 있습니다 (그중 어느 것도 완벽하지 않습니다)

1. Kaazing을 사용하십시오.

그들은 이미 그것을지지합니다. 오픈 소스이지만 일종의 이중 라이센스, 프로젝트에 사용할 수 있는지 확인하는 것이 좋습니다.

2. js.io 및 Ape를 결합합니다 (Ajax 푸시 엔진)

Ape는 혜성 프레임 워크이지만 최근에 Websockets를 지원하기 시작했습니다. 웹 사이트 ( "Ape As Proxy"섹션)에서 xmpp.js를 포함하는 js.io 라이브러리를 실행할 수 있으므로 결합하면 작동 할 수 있습니다.

3. Caucho를 사용하십시오

One Stop Shop Comet Solution을 제공하는 APE와 유사한 Java 기반 프레임 워크이며 XMPP 및 Websockets를 모두 지원하는 것으로 보입니다.

4. Strophe Team에 WebSocket을 지원하도록 요청하십시오.

Strophe는 Bosh보다 XMPP를 수행하지만 (동기식 HTTP를 통해 양방향 스트림) 웨이브 콕스 지원에 대한 토론, 도.

Jack Moffitt (위에서 언급 한 책의 핵심 개발자와 저자)는 WebSockets에 관심이있는 것처럼 보이지만 Bosh보다 WebSocket을 지원 해야하는 이유에 대해보다 강력한 추론을 제공해야합니다. 좋은 답변이 있으면 트레드에 가입하십시오.

방금 시도했습니다 XMPP, BOSH, Strophe Echobot 예제, 잘 작동했습니다. 또한 요구 사항에 맞는지 확인하기 위해 시도 할 수도 있습니다.

#2와 #3의 경우 XMPP와 WebSockets를 지원하지만 함께 작동하는지 확실하지 않다고 말합니다.

xmpp & websockets를 사용하는 것에 대해 어떤 종류의 응용 프로그램을 생각하고 있습니까?

아래는 대안에 대한 제안입니다.

내가 썼을 때 위의 대부분의 정보를 얻었습니다. 이 블로그 게시물. 주석 섹션을 때때로 확인하면 다른 솔루션을 찾으면 업데이트를 게시합니다.

이 주제를 다루는 책이 곧 출시 될 예정입니다 ...

JavaScript 및 JQuery가있는 전문 XMPP Alt Text http://ecx.images-amazon.com/images/i/51b7vahw8ol._sl500_aa240_.jpg

그러나 나는 당신이 책을 기다리고 싶지 않다고 가정합니다. 그러니보기 JSConf의 Jack Moffitt의 프레젠테이션. 나는 오늘 아침에 그것을 보았다. (Jack Moffitt는 위에 링크 된 책의 저자입니다.)

관련된 라이브러리 (JavaScript 및 C 구현)는 다음과 같습니다. 스트로프.

이것은 매우 유익한 탐험 영역이지만 매우 생생합니다. 더 빨리 볼 것입니다. websockets는 html5와 함께 제공됩니다. 맞습니까?

JSJaC 구현하다 웹소켓을 통한 XMPP.여러 백엔드 구현에서 작동하는 것으로 알려져 있습니다.

  • node-xmpp-bosh - RFC6455 지원하고 0.6.1 이후 문제 없이 작동합니다. 필요한 경우 STARTTLS를 투명하게 사용합니다.
  • WXG - RFC6455 및 작동 지원 문제는 없지만 필요한 서버에 연결할 수 없습니다. STARTTLS (원래 wxg에는 Gordin이 수정한 문제).
  • ejabberd-websockets - 하지 않음 지원 RFC6455 따라서 작동하지 않고 지원에 맞게 조정됩니다. RFC6455 Erlang을 아는 사람에게는 매우 쉬울 것입니다 (일부 작업 진행 중인 GitHub에서 찾을 수 있음)
  • 모닥불 - 비공식 플러그인을 사용할 수 있지만 지원이 부족합니다. 따라서 RFC6455 작동하지 않습니다.
  • Apache Vysper - 지원하지 않으므로 작동하지 RFC6455
  • Tigase - WebSocket에서 알려진 작업 없음 지원
  • MongooseIM - ejabberd의 포크 Websocket을 통한 XMPP를 지원합니다.

브라우저 측의 JS가 주로 브라우저 API에 의존하기 때문에 websocket 프로토콜만 처리할 수 있는지 잘 모르겠습니다.아직 웹소켓을 지원하는 브라우저는 거의 없습니다.Chrome, Safari5, 어쩌면 Firefox4일 수도 있습니다.flash/as3을 기반으로 하는 많은 해결 방법이 있습니다. 그러면 js가 플래시 코드와 통신합니다. 주요 제한 사항은 플래시가 보안 연결을 지원하지 않는다는 것입니다(너무 나쁩니다).

BWT, 확인할 수 있습니다 이 웹소켓 구현 그들은 오픈 소스 Java websocket 클라이언트 lib를 제공하고 xmpp 관련 내용을 처리하는 것으로 보이며 저장소를 탐색하면 기본 as3 websocket 구현을 찾을 수 있습니다.

XMPP 서버가 먼저 지원해야하기 때문에 WebSocket 솔루션을 구체적으로 요구하는 이유를 잘 모르겠습니다.

그러나 몇 가지 XMPP JavaScript 라이브러리가 있습니다 (모두 BOSH 메소드를 사용하는 한).

이 예는 XMPP 웹 사이트 여기에는 XMPP 프로토콜의 오픈 소스 구현이 나와 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top