iOS:XMPP即时聊天知识

简介:

XMPP即时聊天框架:XMPPFramework

 
XMPP
The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议)。
基于XML
XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2P客户端到客户端的架构
 
 
服务器:OpenFire
测试客户端:spark
iOS开发框架:XMPPFramework
 
 
XMPP的地址叫做JabberID(简写为JID),它用来标示XMPP网络中的各个XMPP实体。
JID由三部分组成:domain,node identifier和resource。JID中domain是必不可少的部分。注意:domain和user部分是不分大小写的,但是 resource区分大小写。 
jid = [ node "@" ] domain [ "/" resource ]   
 
 
 
domain:通常指网络中的网关或者服务器。 
node identifier:通常表示一个向服务器或网关请求和使用网络服务的实体(比如一个客户端),当然它也能够表示其他的实体(比如在多用户聊天系统中的一个房间)。 
resource:通常表示一个特定的会话(与某个设备),连接(与某个地址),或者一个附属于某个节点ID实体相关实体的对象(比如多用户聊天室中的一个参加者)。
JID种类有: 
bare JID:user@domain.tld
full JID:user@domain.tld/resource
 
 
XMPP通信原语有3种:message、presence和iq。
message是一种基本推送消息方法,它不要求响应。主要用于IM、groupChat、alert和notification之类的应用中
presence用来表明用户的状态
(Info / Query) 一种请求/响应机制,从一个实体从发送请求,另外一个实体接受请求,并进行响应 
 
 
共同属性:
 to属性:标识消息的接收方。 
from属性:指发送方的名字或标示 
type属性
 
 
实现功能:
登录、注册
个人状态通知
联系人列表(花名册)
添加、删除好友
收发消息
消息存储
修改个人资料
 
程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式!
本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5007873.html ,如需转载请自行联系原作者
相关文章
|
关系型数据库 MySQL Java
iOS - XMPP Openfire 服务器的搭建
前言 提前下载好相关软件,且安装目录最好安装在全英文路径下。如果路径有中文名,那么可能会出现一些莫名其妙的问题。 提前准备好的软件: jdk-8u91-macosx-x64.dmg mysql-5.7.17-macos10.12-x86_64.dmg mysql-workbench-community-6.3.9-osx-x86_64.dmg openfire_4_1_1.dmg Openfire 官网 MySQL 官网 JDK 官网 在安装配置 Openfire 或其他 xmpp 服务器前,需要先安装 MySQL 数据库。
2399 0
|
iOS开发 数据格式 XML
|
XML 数据格式 iOS开发
|
数据安全/隐私保护 iOS开发 API
|
数据安全/隐私保护 iOS开发 分布式计算