Because the project requires an android Communication Software Based on XMPP protocol. So we started to study XMPP.
The XMPP protocol uses the client-server architecture. All messages and data sent from one client to another must be forwarded by the XMPP server, and supports DNS routing between servers, that is to say, you can build a server cluster so that clients under different servers can communicate with each other. The predecessor of XMPP is the network communication protocol developed by an open-source organization-jabber, the core of XMPP is the protocol for sending XML streams by fragment on the network. This protocol is a means of transmitting XMPP instant messaging commands.
To prevent data sent between servers from being tampered or eavesdropped, XMPP server communication introduces the TLS mechanism, which can be used to encrypt data, this ensures data security during data transmission.
The IP address of an XMPP object is called jabber identifier or jid, which is similar to an IP address. A valid jid includes the node name and domain name Resource Name. Its format is: jid = [node '@'] domain ['/' resource]
The namespace of the XMPP protocol:
Jabber: IQ: Private -- private data storage, used for private setting information of local users, such as user remarks.
Jabber: IQ: Conference-a general meeting used for information sharing among multiple users
Jabber: X: Encrypted-encrypted message, used to send encrypted messages
Jabber: X: expire -- message termination
Jabber: IQ: Time -- client time
Jabber: IQ: Auth-Simple user authentication, which is generally used for authentication between servers or between servers and clients.
Jabber: X: roster-internal roster
Jabber: X: signed -- marked online status
Jabber: IQ: search-user database query, used to send query requests to the server
Jabber: IQ: Register -- registration request, used for User Registration Information
Jabber: X: IQ: roster -- roster management
Jabber: X: conference -- meeting invitation, used to send a meeting notification to participants
Jabber: X: event -- message event
VCard-temp-temporary vCard, used to set the user's profile picture and nickname
I found an open-source project beem, an open-source XMPP framework asmack for Android, and asmack is the Android version of smack. Start learning smack now
. XMPP is a magic horse. First, click openfire and Spack on the Internet. If you don't know what these two items are, Google directly. Installing openfire requires MySQL support. Of course, Oracle and sqlserver are certainly acceptable.