先说说XIFF的进展,igniterealtime.org 自从2007-3-3删除XIFF2后,一直在进行XIFF3的开发,现在每天都有更新,进展看似顺利。而且有了个3.4.2版本,这篇文章中用的就是这个xiff的3.4.2版本.
使用 Openfire 3.4.3 版本
1.登录
var _conn : XMPPSocketConnection;
_conn.server = Server Name;
_conn.username = Username;
_conn.password = Password;
_conn.connect("standard");
连接成功会触发 ConnectionSuccessEvent.CONNECT_SUCCESS
登录成功会触发 LoginEvent.LOGIN
2.处理Roster
var _roster = new Roster();
_roster.connection = _conn;
Roster需要监听的几个重要event
RosterEvent.SUBSCRIPTION_REQUEST 当别人要加你为好友时
RosterEvent.USER_UPDATED 当你的好友更新了状态时
添加一个联系人
_roster.grantSubscription(联系人JID, true);
拒绝别人添加好友的请求
_roster.denySubscription(请求人JID);
3.Message处理
需要监听 _conn.addEventListener(MessageEvent.MESSAGE, messageHandler);
当收到消息时触发 MessageEvent.MESSAGE
var m:Message = event.data as Message;
m.from 消息发送者
m.body 消息内容
m.type 消息类型 (Message.CHAT_TYPE, Message.GROUPCHAT_TYPE, Message.ERROR_TYPE 等)
发送消息
var message : Message = new Message(联系人JID, null, null, null, Message.CHAT_TYPE, null);
message.from = 发信人JID;
message.body = 消息内容
//message.htmlBody =
_conn.send(message);
4.注册用户
创建一个用户
var regdata : Object = {};
regdata.username = 用户名
regdata.password = 密码
regdata.email = 邮箱
_conn.sendRegistrationFields( regdata, null );
_conn需要监听 RegistrationSuccessEvent.REGISTRATION_SUCCESS, 当注册成功时触发.
5.Cross Domain
openfire的管理平台中写着: 端口5229 Flash Cross Domain
Security.loadPolicyFile("xmlsocket://Servername:5229");
openfire的crossdomain.xml是动态生成的,可以telnet看一下,在命令行中运行
telnet localhost 5229
会看到下面的内容
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" to-ports="5222" />
</cross-domain-policy>
6.尚待解决的问题
xiff现在还没实现XEP-0124
xiff直接连GTalk有问题(talk.google.com:5222)
参考
xiff 3.4.2
http://svn.igniterealtime.org/svn/repos/xiff/tags/xiff_3_4_2
xiff 3 API
http://paazio.wippiespace.com/xiff3doc/
中文翻译计划
http://wiki.jabbercn.org/space/start
Flex 2 with XIFF
http://www.darkcoding.net/software/xmpp-in-your-browser-flex-2-with-xiff/
XIFF ActionScript 3.0 Demo
http://www.velloff.com/?p=38
- 描述: jpg
- 大小: 41.2 KB
分享到:
相关推荐
Flex是一种基于Adobe Flash Player或Adobe AIR的开源框架,用于创建富互联网应用程序(RIA)。它提供了丰富的用户界面组件和强大的数据连接能力,适用于构建跨平台的桌面和移动应用。在这个特定的场景中,"Flex实现...
在Android平台上构建XMPP聊天应用程序是一项常见的任务,XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,广泛用于即时通讯应用。本文将深入探讨如何利用Android技术和XMPP协议来...
5. **文件传输**:用户可以通过即时通信程序进行文件分享,这通常需要扩展XMPP协议以支持二进制数据的传输。 6. **推送通知**:对于移动设备,当用户不在应用前端时,可以通过推送服务接收到新消息的通知。 7. **...
在这个“基于xmpp的安卓客户端高仿QQ”项目中,开发者利用XMPP技术来创建一个类似于QQ的移动应用程序,让用户体验到类似的功能。 首先,让我们深入了解一下XMPP的核心概念。XMPP基于XML流,通过TCP连接提供稳定的...
【基于XMPP协议的Qt聊天程序】是一种使用XMPP(Extensible Messaging and Presence Protocol)标准进行即时通讯的应用,它的设计和实现充分利用了Qt库的强大功能。XMPP是一种开放且基于XML的通信协议,广泛用于即时...
基于XMPP协议的WEBIM 简单实现,如有开发openfire+spark/jwchat的可以参考
【基于XMPP的聊天项目】是一个使用Android平台开发的聊天应用程序。XMPP(Extensible Messaging and Presence Protocol)是一种开放标准的即时通讯协议,它基于XML流传输,常用于实现聊天、在线状态管理等功能。这个...
在IT行业中,实时通信协议(Real-Time Communication Protocol)在各种应用程序中扮演着至关重要的角色,尤其是在移动设备上。本文将深入探讨如何使用XMPP(Extensible Messaging and Presence Protocol)协议来构建...
### 基于XMPP协议的多端即时通讯方案 #### 一、开发背景 ##### 1、国际背景 随着互联网技术的飞速发展,即时通信已成为人们日常沟通的重要方式之一。1996年,Mirabilis公司推出的世界首个即时通信系统ICQ,标志着...
本文将深入探讨基于XMPP(Extensible Messaging and Presence Protocol)协议的IM系统,以及如何在iOS平台上实现一个类似QQ的即时通信功能。 XMPP是一种基于XML的开放标准,最初设计用于即时通讯,但后来扩展到更...
7. **Bin**:编译后的二进制文件目录,可能包含可执行程序和其他运行所需的依赖。 通过深入研究这些文件,开发者可以学习如何集成Gloox库,如何处理XMPP协议的数据流,以及如何在C++中构建一个完整的即时通讯应用。...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通信协议,被广泛应用于即时通讯(IM)领域。本教程将介绍如何在iOS平台上利用XMPP协议开发一个简单的即时通讯应用Demo。首先,我们需要理解...
二、Xmpp协议介绍 1. Xmpp协议概述:XMPP是一种用于即时消息和在线状态信息的开放标准通信协议,它让不同的网络服务可以互相通讯。 2. Xmpp协议内容:XMPP定义了客户端与服务器、服务器与服务器之间进行即时消息...
本项目是一套基于android+asmack+openfire+xmpp的安卓即时聊天服务端,项目直连google talk服务器,可以使用谷歌帐号登录客户端,测试需要至少两个谷歌帐号。在程序里添加好友即可聊天。聊天核心功能使用的smack库
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的实时通讯协议,常用于构建即时通讯应用,如聊天软件。在iOS平台上开发XMPP聊天程序客户端,通常需要对XMPP框架有深入理解,并熟悉iOS的网络编程...
【Java开发 基于Xmpp的IM即时通讯项目】是一个使用Java编程语言构建的实时通信应用程序,它基于XMPP(Extensible Messaging and Presence Protocol)协议。XMPP是一种开放的标准,用于实现即时消息传递和在线状态...