`

XMPP连接人人网

 
阅读更多

seesmic-as3-xmppXMPP在ActionScript脚本上的一个实现。或许更加出名的是xiff这个框架,但是目前它并不支持TLS加密,所以需要要TLS支持的时候,更好用的是seesmic-as3-xmpp

人人网的IM工具校内通是基于XMPP协议进行通信的,根据网络上各路神仙的指示,使用基于XMPP框架的API可以很方便的更新一条状态。那么,在我使用桌面工具Twitter Air更新twitter的时候也可以同步更新到人人网,虽然人人网提供了REST API供应用程序调用,但是它们的验证机制明显需要花费更多的时间。

要想成功地连接到人人网,账号密码是必不可少的,人人网用户注册账号是Email地址,Email地址前的用户名无法保证唯一性,所以人人网用户都有一个额外的数字标识,就像QQ号一样,登陆之后可以从浏览器地址中得到该标识,例如http://www.renren.com/Home.do?id=9527这个用户的ID是9527。在进行XMPP连接前,要设置连接的JID, PASSWORD和SERVER三个值,RFC 3920中规定一个完整的JID应该是id@domain/resource这样一个形式,resource可以作为一个账户多处登陆的会话ID。按照这个规定,人人网用户9527的JID则是9527@talk.xiaonei.com。

下面在AIR中试着更新人人网的状态。打开Flash Builder新建一个AIR工程,将seesmic-as3-xmpp加入到编译路径,工程代码大致如下(MXML省略):

01 import com.hurlant.crypto.tls.TLSConfig;
02 import com.hurlant.crypto.tls.TLSEngine;
03 import com.hurlant.crypto.tls.TLSEvent;
04 import com.hurlant.crypto.tls.TLSSocket;
05 import com.seesmic.as3.xmpp.XMPP;
06 import com.seesmic.as3.xmpp.XMPPEvent;
07
08 varxmpp:XMPP;
09 privatefunctioninit():void{
10 xmpp=newXMPP("USER_ID@talk.xiaonei.com","USER_PASSWORD","talk.xiaonei.com");
11 xmpp.addEventListener(XMPPEvent.SESSION, handleSession,false,0,true);
12 xmpp.setupTLS(TLSEvent,TLSConfig,TLSEngine,TLSSocket);
13 xmpp.connect();
14 }
15 privatefunctionhandleSession(e:XMPPEvent):void {
16 varstatus:String="a presence sent by AIR using XMPP protocol";
17 xmpp.sendPresence(status);
18 }

设置好正确的ID和密码,编译运行,然后登陆人人网就会发现状态已经更新了。have fun!

分享到:
评论

相关推荐

    android的XMPP客户端

    总之,创建Android的XMPP客户端涉及到的知识点包括XMPP协议原理、Android开发环境、Smack库的使用、网络连接管理、异步编程、消息收发、群组聊天、文件传输以及推送通知的集成。通过熟练掌握这些技术,开发者可以...

    ios上的xmpp安全连接示例程序

    本文将深入探讨如何在iOS上建立安全的XMPP连接,并通过示例程序"XmppDemo"来说明如何实现在线状态获取、在线用户列表的显示以及短消息的收发。 首先,XMPP基于XML,它允许客户端与服务器之间进行实时通信,支持用户...

    android XMPP openfire

    1. `XMPPConnection.java`:实现XMPP连接类,包括连接、断开、心跳保持等方法。 2. `MessageManager.java`:处理消息发送和接收,包括私聊和群聊。 3. `RosterManager.java`:处理用户的好友列表,添加、删除好友,...

    xmpp协议说明ppt

    XMPP的工作原理涉及以下几个步骤:首先,客户端连接到服务器,并通过服务器的本地目录系统进行身份验证。接着,客户端指定目标地址,服务器查找并连接目标,双方进行相互认证。最后,客户端之间可以通过服务器交换...

    使用Strophe连接xmpp,轻松构建web即时聊天工具

    在本文中,我们将深入探讨如何使用Strophe.js库来连接XMPP服务器,从而轻松构建Web即时聊天工具。Strophe.js是一个轻量级的JavaScript库,专门设计用于在浏览器环境中与XMPP服务器进行交互,实现WebSocket、BOSH或...

    xmpp协议介绍,XMPP体系架构

    XMPP的工作原理是客户端首先连接到服务器,经过身份验证后,可以指定目标地址,服务器查找并连接到目标,进行双向认证后,客户端之间就可以开始交互消息。整个过程中,所有消息都通过服务器转发,确保了通信的安全和...

    XMPP客户端Java类库:Smack

    1. **连接管理**:Smack提供了连接XMPP服务器的功能,包括建立、保持和断开连接。它支持TCP、TLS/SSL以及WebSocket等多种连接方式。 2. **会话处理**:Smack允许用户创建和管理会话,包括登录、注销、查询在线状态等...

    基于XMPP协议、HTML5的WebRTC

    XMPP服务器作为中间媒介,处理连接请求,发送媒体配置信息,确保两端可以正确建立和维护通信连接。在这个过程中,HTML5的getUserMedia API用于获取用户的媒体流,然后通过WebRTC的RTCPeerConnection接口创建和管理...

    IOS XMPP 聊天程序客户端

    2. **连接与断开**: 使用`connectWithTimeout:`方法建立到XMPP服务器的连接。连接成功后,需要监听连接状态,以便在断开时重新连接。`disconnect`方法用于关闭连接。 3. **登录与注销**: 通过`...

    xmpp .net(c++)客户端极简单程序

    Gloox是C++实现的XMPP客户端和服务端库,提供了丰富的功能,包括连接管理、身份验证、多用户聊天、文件传输等。 首先,让我们深入了解XMPP协议。XMPP的核心设计目标是提供一种灵活、可扩展的框架,以便处理各种类型...

    xmpp客户端开发库

    1. **连接管理器**:负责与XMPP服务器建立和维护TCP连接,处理心跳机制以保持连接活跃。 2. **认证模块**:处理XMPP的认证过程,如PLAIN、DIGEST-MD5或OAuth2等。 3. **XML流处理**:解析和生成XMPP的XML流,确保...

    XMPP 核心 (内附XMPP实例)

    1. **协议架构**:XMPP基于客户端-服务器架构,允许用户通过连接到XMPP服务器进行通信。这种设计支持分布式系统,可以处理大规模的并发连接。 2. **XML流**:XMPP的数据传输基于XML流,这意味着所有的通信信息都...

    iOS xmpp ejabberd服务器

    当应用进入后台时,XMPP连接可能会断开。为解决这个问题,可以使用苹果的VoIP推送服务,保持连接或在合适的时候重新连接。 此外,ejabberd支持自定义插件,可以满足特定需求,例如日志记录、用户行为分析等。开发者...

    XMPP.rar_xmpp _通讯协议中文

    8. **应用领域**:除了基本的即时通讯,XMPP还广泛应用于物联网、企业协作系统、游戏服务器、智能家居等领域,因为它能处理大量并发连接和实时数据交换。 “XMPP.doc”文档可能详细阐述了这些概念,以及如何配置和...

    XMPP写的注册

    - **连接服务器**:使用XMPPStream初始化并连接到指定的XMPP服务器。 - **设置认证**:配置身份验证方式,如DIGEST-MD5、PLAIN或SCRAM-SHA-1。 - **发送注册请求**:通过IQ元素向服务器发送注册请求,包含待注册...

    AndroidXMPP-master

    5. **XMPP Connection Management**:建立和维护到XMPP服务器的连接是关键步骤,通常涉及TCP连接的建立、认证过程(如PLAIN、DIGEST-MD5或TLS/SSL加密)、心跳保活以及断线重连策略。 6. **Presence and Roster ...

    xmpp通讯协议demo

    5. **连接与认证**:XMPP客户端首先需要建立一个安全的TCP连接到XMPP服务器,然后进行身份验证,通常使用简单的明文密码或者更安全的如SASL(Simple Authentication and Security Layer)机制。 6. **消息传输**:...

    XMPP正式RFC标准3920

    XMPP虽然并未规定具体的网络结构,但最常见的是客户-服务器架构,其中客户端通过TCP连接访问服务器,服务器间也通过TCP连接进行通信。这种架构可以概括如下: - C1、C2、C3:XMPP客户端 - S1、S2:XMPP服务器 - G1...

    XMPP 常用XEP协议

    4. 状态和存在管理:XEP-0085(Chat State Notifications)和XEP-0199(XMPP Ping)允许用户向其他用户显示他们当前的聊天状态(如在线、忙碌或离线),以及检查网络连接的活跃性。 5. 多人聊天室:XEP-0045(Multi...

Global site tag (gtag.js) - Google Analytics