What is the actual role of XMPP

I am new in XMPP. I want to use it for my chatting application which can be accessible from web and mobile. I have searched a lot about background working of XMPP but could not found much clear. What is the actual role of XMPP. XMPP is not a protocol for transferring data because it uses BOSH or Websockets, XMPP is not for storing data because many server side implementations are using external databases. Then what is XMPP doing exactly in the process of chatting ?


XMPP is a protocol.

Protocols can be and usually are layered. You can build a protocol layered on a protocol layered on a protocol.

  • XMPP is layered on BOSH or Websockets
  • Websockets/BOSH is layered on HTTP(S)
  • HTTP(S) is layered on TCP
  • TCP is layered on IP
  • IP is layered on Ethernet
  • For further reading I recommend to familiarize yourself with the OSI model.

    When you want to create an application which implements the XMPP protocol, you also need an implementation of every layer below it. When you are smart, you will try to find a library which provides you with an implementation of the highest layer you can find and all layers below it.

    Or when you really want to learn how each of these protocols works exactly, it would be a great exercise to read the protocol specifications and build your own protocol stack starting as low as your environment allows and working up. But do not do this when you have the goal to create a market-ready product. An implementation created and tested by people who knew what they were doing will likely work much better than what you will build and save you a lot of time.

    链接地址: http://www.djcxy.com/p/41164.html

    上一篇: OAuth 2.0。 没有会话? (无国籍)

    下一篇: XMPP的实际作用是什么?