我可以知道你們用什麼集成技術來實現外部組件到現有的XMPP服務器(例如ejabberd或OpenFire)。是通過直接發送xmpp消息給其他用戶@ externaldomain還是使用像urlfetch這樣的機制?將GAE XMPP服務作爲外部組件實現到現有的XMPP服務器(例如ejabberd或OpenFire)
回答
谷歌應用程序引擎(GAE)不支持XMPP就像CLIENT。
隨着XMPP Gae JAVA client功能,您可以:
發送信息
JID jid = new JID("[email protected]");
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
}
}
記住的JID可以只是[email protected] OR [email protected] 因爲谷歌域尚不支持。
例如,你可以製作一個玩具GAE應用程序與一個簡單的頁面:
- 一個HTML格式發送文本
- 消息顯示列表的HTML表格接收並存儲到大表。
要測試你的應用程序:
- 上jabber.org創建一個帳戶
- 下載啪
- 嘗試從拍擊將消息發送到[email protected]
- 嘗試發送消息從Gae App到[email protected]
如果你有你的個人XMPP服務器(openfire)啓動並運行,只需跳過第1步並使用您的域帳戶接收來自您喜歡的Gae App的消息。
看看XMPP message delivery瞭解它是如何工作的。
@systempuntoout,你可以評論這個帖子http://stackoverflow.com/questions/2570800/appspot-xmpp-talk-with-jabber-org – cometta 2010-04-04 03:37:16
App Engine支持XMPP非常有限的子集。基本上,您可以發送消息(通過API),並且您可以接收消息(它們以HTTP請求的形式出現)。
你可以拼湊現有的XMPP服務器上的外部組件,發送和接收與您的應用程序引擎代碼的消息。該組件必須跟蹤您想要從您的應用發送和接收的任何內容。
關於如何使用外部xmpp與gae的任何文章/參考? – cometta 2010-03-28 08:11:03
您不需要做任何特殊的事情就可以與XMPP中的組件進行對話。您只需像以前一樣使用jid發送/接收消息。請注意,這是關於GAE XMPP可以做的所有事情。您喜歡的組件必須位於您運行的另一臺服務器上。 – 2010-03-28 13:43:28
- 1. XMPP服務器(Openfire)需要實現嗎?
- 2. XMPP客戶端與服務器ejabberd
- 3. XMPP ejabberd服務器無法連接gtalk服務器
- 4. 無法將Gloox Xmpp客戶端連接到Openfire服務器
- 5. 如何確保發送到openfire服務器的XMPP消息?
- 6. 我們如何將圖片或照片上傳到ejabberd XMPP網絡服務器?
- 7. 要試驗哪個XMPP服務器開發服務器組件
- 8. 我如何設置與ejabberd我的XMPP服務器的iOS
- 9. 用servlet註冊用戶到Openfire XMPP服務器?
- 10. 如何啓用在XMPP的Openfire服務器的WebSockets
- 11. 配置XMPP服務器
- 12. Tigase XMPP服務器BOSH URL
- 13. 遠程服務器XMPP
- 14. Python XMPP服務器庫
- 15. 如何使用Smack與Android Studio與Openfire XMPP服務器聯網
- 16. 將API添加到xmpp服務器?不清楚有關自定義API的xmpp服務器的概念
- 17. Registert在iOS中使用XMPP的Openfire服務器的新用戶
- 18. XMPP連接到服務器(Python)的
- 19. XMPP服務器到服務器的SASL握手
- 20. 阻止其他xmpp客戶端訪問我的ejabberd服務器
- 21. 將XMPP服務器集成到現有的Rails web應用程序
- 22. 如何在Android中創建服務與XMPP服務器保持Xmpp連接?
- 23. XMPP服務器到服務器 - 流量優化?
- 24. Xmpp服務器到服務器使用protobuf
- 25. 當連接服務器XMPP有錯誤
- 26. 問題XMPP框架(iOS)和EJabberd服務器
- 27. XMPP服務器給出錯誤「服務器沒有響應」
- 28. 無法使用node-xmpp連接到xmpp服務器
- 29. 如何訪問在XMPP ejabberd服務器中使用Rosters的所有用戶
- 30. 使用XMPP實施目標服務
'執行外部組件'?你想達到什麼目的? – 2009-10-29 09:49:06
gae無法使用xmpp,所以我想安裝外部openfire並使用pubsub。我的smack pubsub客戶端也將安裝在外部服務器上 – cometta 2009-10-29 10:48:24