Font Size: a A A

Analysis Of XMPP Protocol And Development Of Client Program

Posted on:2008-02-17Degree:MasterType:Thesis
Country:ChinaCandidate:Z WangFull Text:PDF
GTID:2178360242460087Subject:Software engineering
Abstract/Summary:PDF Full Text Request
XMPP (Extensible Messaging and Presence Protocol) is a protocol based on EML (Extensible Markup Language). It integrates the flexible extensibility under the circumstance of XML as well as the excellent expandability of XMPP application. This protocol makes it ultimately possible for the Internet users to transmit real-time message to anyone else using different client programs of messaging system. The biggest advantage of XMPP protocol is that it can be adapted to various real-tie messaging system, for example, users of jabber can perform real-time communication with users of MSN, YAHOO, ICQ, etcThis article focuses on the XMPP protocol. The first part is based on the analysis of RFC3920 and RFC3921. It covers the implementation of XMPP protocol in detail. We can regard XMPP as an implementation of client-server construction. We define the legible user identification (ID) in the format of email address, which is named jabber identifier (JID). The streams and nodes of XML are the carriers of data. XML stream is a recipient, including the XML elements exchanged between two entities. XML node is a discrete semantic unit among the structuralized information transmitted through XML stream from one entity to another. XMPP secured the streams from being tampered or eavesdropped by Transport Layer Security (TLS). The encryption of TLS mimics the extension of other similar "STARTTLS" , for example, IMAP, P0P3, etc. The administrator of one domain can require the client or server to start TLS during communication or require both of them. The client should start TLS before trying to complete SASL hand-shaking. The server should start TLS to secure the communication between two domains. Servers between two domains secure communication between servers by TLS. It is demonstrated how the coding is realized from server to client. The streams are validated by SASL (Simple Authentication Security Layer). SASL provides a universal method to support authentication based on connection protocol. While, XMPP utilizes a general XML name to satisfy the requirement of SASL. In the latter part, one example showed how a client and a server utilize SASL for authentication. Then initialized entity needs to be bound to a specified resource flow. At the last XML node can be transmitted by stream.The second part focuses on the system implementation of XMPP client software. At the beginning, I presented that the communication standard of client is compatible with XML. Application programs initiate various modes to require and respond interchangeable communication using XML. Here we focus on how various modes submit communication requests based on XML. The communication between server and client starts with a login window. Their communication is performed on the connection of adaptors. Clients connect and communicate with other users through servers. All the requests must be processed by server. The entire message must go through router. Next, I outlined schematic structure of system streaming, overall analysis of requirement of client program, including the structural design of software system, description of functional modules of software, implementation of individual function of client software. The client system submits login request through Login Class, create a new communication and make the first response between the client and server by Session Class. At the mean time, the client submits login request to local server. Main Screen Class processes logout, unsubscription, deletion and addition of friends. Sparser class is used to analyze the XML message received from server. Codes of important related parts are attached. This article provides not only details of implementation of functions for client but also details of designation and application.Real-time communication has a bright future. It is a tendency to be open and communicable. Real-time communication achieved dramatic success as a communication tool for individuals. In some fields of application, it has substituted email as the first choice for online communication. The today of email is the tomorrow of immediate messaging (IM).
Keywords/Search Tags:IM, XMPP, Jabber, XML, TLS, SASL, JAVA
PDF Full Text Request
Related items