总结一下学习XMPP通信协议重要的五点。
第一,清楚传输标准格式是什么;第二,怎么样将发送的消息或请求转换为传输的流;第三,怎么样接收发送来的流;第四,怎么样处理流;第五,明确 传输协议是什么。
1.传输标准格式:
基于XML,标签的意义可以自己定义,比如,定义一对标签:<msg></msg>标识着一条消息。
2.将请求或消息转换成传输的流:
将消息的字符串转换为XML格式,将XML转换为流
3.接收和处理流
将流转化为字符串,再笨拙的截取字符串,截取到消息部分。(这时,自己的简单的小程序的弱点就暴露了 ,首先,在用它聊天时不能谈关于技术的话题尤其是XMPP,否则可能会出错;其次,由于大量的用标签对消息“包装”使消息的传输效率变低------结论,目前的程序还要改进)
4.传输协议:
由自己定。(要保证只要按照协议写的做,就保证不会出错)。现在我们是写小程序,可以写服务器又写客户端。但是在写程序的时候一定,只写其中一个,不能想把某个问题让另一端处理。例如,在写服务器的时候,就要考虑到客户端不一定会按照协议,那么就要对不符协议的消息处理。至少保证,服务器端是严格按照了协议规定来处理的,如果是由于协议问题出了错,那么保证错误不是出在服务器端。在写客户端的时候也是一样。
总之,我认为对于我们初级入门学生俩来说,无论是学习什么通信协议都应该先弄懂这5点。我们是通过学会写某一个程序达到 学会写程序的阶段。而学习的过程也就是积累经验的过程,积累经验就需要我们实践、思考和总结。总结错误固然重要,但也不能忘掉总结有收获的地方。
分享到:
相关推荐
2. **即时消息**:用户可以向其他在线用户发送文本消息,消息在客户端之间加密传输,保证了通信的安全性。 3. **状态管理**:用户可以设置不同的在线状态,如在线、离线、忙碌等,这些状态可以通过XMPP服务器实时...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准协议,用于即时通信(IM)和在线状态服务。这个“XMPP.zip”文件显然包含了关于如何使用XMPP实现即时通讯,尤其是仿照QQ功能的相关资源...
XMPP通信协议原理探索
2. **客户端-服务器架构**:在XMPP系统中,客户端连接到服务器进行通信。客户端发送和接收消息、请求和响应都通过与服务器的连接完成,服务器负责路由消息到正确的目标。 3. **Jabber ID (JID)**:每个XMPP用户都有...
本项目“基于XMPP的即时通信实现代码”提供了一个完整的解决方案,涵盖了用户注册、添加好友、删除好友以及实际的通信过程。 首先,我们需要了解XMPP的基本原理。XMPP基于XML流协议,通过TCP连接传输数据。它包括三...
2. **分布式架构**:XMPP设计为分散式的网络,其中每个实体(如用户、服务或组件)都可以作为一个独立的节点,通过服务器进行连接。这种架构提高了系统的健壮性和可靠性。 3. **实时性**:XMPP采用推送模型,一旦有...
【即时通信(IM)技术概述】 ...通过对"improject源码"的分析和实践,开发者不仅可以掌握XMPP即时通信的实现,还能提升在Android平台上的项目开发能力。同时,持续关注项目更新,可以获取最新的技术趋势和最佳实践。
2. **建立连接**:使用Smack API建立到XMPP服务器的连接。这通常涉及设置JID(用户名@域名)、密码和服务器地址。你可以使用`XMPPTCPConnection`类来实现这一功能。 3. **登录**:连接成功后,使用`login()`方法...
在Android平台上实现基于XMPP(Extensible Messaging and Presence Protocol)的即时通信系统,可以让你创建一个类似QQ的应用,实现用户间的实时消息传递、在线状态显示等功能。以下是对这个主题的详细解析: 一、...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准通信协议,主要用于即时通讯(IM)和在线状态管理。这个“XMPP DEMO android4.0通过”项目显然是一个针对Android 4.0(Ice Cream ...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,最初源自开源项目Jabber。这个协议主要用于即时消息传递(IM)和在线状态(Presence)的探测。XMPP的设计理念是开放、可扩展,...
即时通信XMPP协议,全称为可扩展消息出席协议(Extensible Messaging and Presence Protocol),是一种基于XML的开放标准,设计用于实现实时通信和状态管理。该协议最初由Jabber开源社区于1999年开发,后来在2002年...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,广泛应用于即时通讯、VoIP、协作软件等场景。它提供了丰富的扩展机制,允许开发者添加自定义功能。而MINA(Multipurpose ...
在本资源中,我们关注的是基于XMPP(Extensible Messaging and Presence Protocol)协议的即时通信实现,名为"asmackDemo"。XMPP是一种开放标准,它基于XML流,被广泛用于构建实时通讯应用,包括聊天、VoIP、协作和...
**XMPP (可扩展消息和出席协议)** 是一种基于XML的实时通信协议,起初由Jabber开源社区创建,后来成为Internet Engineering Task Force (IETF) 的即时消息和出席信息技术的一部分。RFC 3920是XMPP的核心协议文档,...
2. **XML流**:XMPP的数据传输基于XML流,这意味着所有的通信信息都封装在XML文档中,这提供了良好的结构化和可解析性。 3. **Jabber ID (JID)**:每个XMPP用户都有一个唯一的Jabber ID,类似于电子邮件地址,由...
在Android平台上实现XMPP(Extensible Messaging and Presence Protocol)客户端是一项常见的任务,因为XMPP是一种广泛使用的即时通讯协议,尤其适用于构建实时通信应用,如聊天、视频通话等。本篇文章将深入探讨...
2. 数据存储器(XDB):与数据库系统相连,存储用户信息和通信记录。 3. 连接器管理器:管理客户端的连接,确保稳定通信。 4. 服务器连接器:负责不同XMPP服务器间的连接,支持多服务器环境。 5. 传输器:实现XMPP...