我已經建立了簡單的服務器和客戶端,但我不知道如何發送消息從xmpp服務器到客戶端。請給我一些幫助。如果可能的話,建議我一些鏈接。發送消息從xmpp服務器在java中的vysper
回答
這是一個令人驚訝的問題,Vysper經常出現。甚至提出這個問題有幾個原因,我認爲一個特別的原因是HTTP Web服務器實際上以這樣的方式工作,即它創建並向代理a.k.a. web瀏覽器發送內容(HTML,CSS等)。
在基於消息的協議中,如電子郵件和聊天,這有點不同。
電子郵件是由代理人a.k.a.電子郵件客戶端創建和使用的。服務器大多隻作爲Message Brokers(http://en.wikipedia.org/wiki/Message_broker),包括認證,過濾,存儲等方面。他們很少會自己生成自己的電子郵件。通常,一些中央帳戶(例如[email protected],[email protected])會創建大部分電子郵件,這意味着實際郵件由電子郵件客戶端生成並由服務器代表客戶端交付。 (此外,電子郵件/ SMTP有客戶直接發送電子郵件到這是一場噩夢通過/垃圾郵件/名義去的接收機電子郵件服務器的特產。)
總的來說,XMPP是這裏沒有什麼區別。 XMPP聊天客戶端連接併發送和接收消息。 XMPP服務器代理消息。因此,爲了回答您的問題,在大多數情況下,已經足夠並建議有一箇中央賬戶與所有其他賬戶進行通信。這是最簡單和最好的解決方案。
但是,XMPP提供的聊天多一點。它擴展了基於表單,發佈/訂閱和管理/命令的類似wizzard的工作流程。
您可以添加自己的擴展,如果你真的需要:
最重要的,我建議你到子類org.apache。 vysper.xmpp.modules.core.base.handler.DefaultIQHandler這就像通過繼承DefaultServlet實現自己的Servlet一樣。它包含您想要提供的XMPP節的邏輯。
此外,您需要將您的處理程序插入服務器。這是最好的按照VcardTempModule的例子,這
- 提供了一個處理程序實例並註冊它做
- 初始化持久性(或任何其他後端連接,您可能需要)
- 讓您的擴展的命名空間知,並宣佈你的智商在服務發現
如果你需要持久性,看看VcardTempPersistenceManager。
還有什麼要做的是讓你的模塊知道服務器。如果您使用Spring,請在Spring配置中添加一行。如果你使用嵌入式的方法,你需要調用相當於server.addModule(new VcardTempModule());就像在org.apache.vysper.xmpp.server中完成一樣。ServerMain
現在,如果你想發出新的Stanzas(消息),這不是對其他Stanzas通過服務器的反應,你還需要從你自己的Thread創建併發送節。
但是,首選的方法是讓客戶端創建所有消息。
- 1. XMPP aSmack MultiUserChat服務器繼續發送已收到的消息
- 2. 如何確保發送到openfire服務器的XMPP消息?
- 3. 從NIO服務器發送消息
- 4. SpringWebSockets不從服務器發送消息
- 5. 使用xmpp framework&quickblox服務器發送羣聊消息iOS
- 6. 從客戶端發送到服務器的Java消息
- 7. 發送消息從服務器端(Java)Facebook的用戶
- 8. 從服務器發送消息給客戶端的Java
- 9. XMPP sendMessage不發送消息
- 10. xmpp facebook未發送消息
- 11. socket.io:從服務器向服務器發送消息(!)
- 12. xmpphp XMPP,從php腳本發送消息
- 13. 將消息從C++服務器發送到java客戶端
- 14. Java ActiveMQ:如何發送消息從客戶端到服務器
- 15. Java-udp編程 - 從服務器發送消息到客戶端
- 16. 如何發送消息從java restful服務器到gcm服務器
- 17. 的Node.js:發送消息至服務器
- 18. 發送服務器多條消息? C#
- 19. 服務器發送RST消息
- 20. UNet不發送消息到服務器
- 21. Node.js發送消息到GCM服務器
- 22. Android C2DM服務器發送消息
- 23. 發送消息回來在XMPP
- 24. XMPP消息未在openfire上發送
- 25. angularjs從服務發送消息
- 26. 通過XMPP服務器接收Java服務器上的所有消息
- 27. Java在外部JMS服務器/隊列上發送消息
- 28. Java XMPP服務器
- 29. Apache Vysper服務器配置?
- 30. 發送客戶端 - 服務器之間的消息ID - Java的