기존 XMPP 서버 (예 : Ejabberd 또는 Openfire)의 외부 구성 요소로 GAE XMPP 서비스 구현

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

문제

사람들이 기존 XMPP 서버 (예 : Ejabberd 또는 Openfire)에 외부 구성 요소를 구현하는 데 사용하는 통합 기술을 알 수 있습니다. XMPP 메시지를 다른 사용자@외부 도메인에게 직접 보내거나 Urlfetch와 같은 메커니즘을 사용 하는가?

도움이 되었습니까?

해결책

Google App Engine (GAE)은 XMPP를 지원합니다. 고객.

XMPP와 함께 Gae Java 클라이언트 당신이 할 수있는 기능 :

문자 보내

JID jid = new JID("youraccount@jabber.org");
Message msg = new MessageBuilder()
    .withRecipientJids(jid)
    .withBody("Hello i'm a fancy GAE app, how are you?")
    .build();                    
XMPPService xmpp = XMPPServiceFactory.getXMPPService();
if (xmpp.getPresence(jid).isAvailable()) {
   SendResponse status = xmpp.sendMessage(msg);               
}

메시지를받습니다

public class XMPPReceiverServlet extends HttpServlet {
  public void doPost(HttpServletRequest req, HttpServletResponse res)
          throws IOException {
    XMPPService xmpp = XMPPServiceFactory.getXMPPService();
    Message message = xmpp.parseMessage(req);    
    JID fromJid = message.getFromJid();
    String body = message.getBody();
    //Save to Big Table
  }
}

지드는 그냥 될 수 있다는 것을 기억하십시오 yourappid@appspot.com 또는 foo@yourappid.appspotchat.com Google 도메인은 아직 지원되지 않기 때문입니다.

예를 들어, 간단한 페이지가있는 장난감 gae 응용 프로그램을 작성할 수 있습니다.

  1. 텍스트를 보내는 HTML 양식
  2. 수신 및 큰 테이블에 저장된 메시지 목록을 표시하는 HTML 테이블.

응용 프로그램을 테스트하려면 :

  1. jabber.org에서 계정을 만듭니다
  2. Smack을 다운로드하십시오
  3. smack에서 youpid@appspot.com으로 메시지를 보내십시오
  4. gae 앱에서 youraccount@jabber.org로 메시지를 보내십시오.

개인 XMPP 서버 (OpenFire)가 업 및 실행중인 경우 1 단계를 건너 뛰고 도메인 계정을 사용하여 멋진 GAE 앱에서 메시지를 수신하십시오.

XMPP를 살펴보십시오 메시지 전달 이것이 어떻게 작동하는지 이해합니다.

다른 팁

App Engine은 XMPP의 매우 제한된 하위 집합을 지원합니다. 기본적으로 (API를 통해) 메시지를 보낼 수 있으며 메시지를받을 수 있습니다 (HTTP 요청으로 제공됨).

Java API
파이썬 API

기존 XMPP 서버에서 외부 구성 요소를 조작하여 앱 엔진 코드로 메시지를 보내고 수신 할 수 있습니다. 해당 구성 요소는 앱에서 보내고 받고 싶은 것이 무엇이든 추적해야합니다.

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