기존 XMPP 서버 (예 : Ejabberd 또는 Openfire)의 외부 구성 요소로 GAE XMPP 서비스 구현
-
10-07-2019 - |
문제
사람들이 기존 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 응용 프로그램을 작성할 수 있습니다.
- 텍스트를 보내는 HTML 양식
- 수신 및 큰 테이블에 저장된 메시지 목록을 표시하는 HTML 테이블.
응용 프로그램을 테스트하려면 :
- jabber.org에서 계정을 만듭니다
- Smack을 다운로드하십시오
- smack에서 youpid@appspot.com으로 메시지를 보내십시오
- gae 앱에서 youraccount@jabber.org로 메시지를 보내십시오.
개인 XMPP 서버 (OpenFire)가 업 및 실행중인 경우 1 단계를 건너 뛰고 도메인 계정을 사용하여 멋진 GAE 앱에서 메시지를 수신하십시오.
XMPP를 살펴보십시오 메시지 전달 이것이 어떻게 작동하는지 이해합니다.
제휴하지 않습니다 StackOverflow