先說(shuō)說(shuō)XIFF的進(jìn)展,igniterealtime.org 自從2007-3-3刪除XIFF2后,一直在進(jìn)行XIFF3的開發(fā),現(xiàn)在每天都有更新,進(jìn)展看似順利。而且有了個(gè)3.4.2版本,這篇文章中用的就是這個(gè)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");
?
連接成功會(huì)觸發(fā) ConnectionSuccessEvent.CONNECT_SUCCESS
登錄成功會(huì)觸發(fā) LoginEvent.LOGIN
?
2.處理Roster
var _roster = new Roster(); _roster.connection = _conn;
Roster需要監(jiān)聽的幾個(gè)重要event
RosterEvent.SUBSCRIPTION_REQUEST 當(dāng)別人要加你為好友時(shí)
RosterEvent.USER_UPDATED 當(dāng)你的好友更新了狀態(tài)時(shí)
添加一個(gè)聯(lián)系人
_roster.grantSubscription(聯(lián)系人JID, true);
拒絕別人添加好友的請(qǐng)求
_roster.denySubscription(請(qǐng)求人JID);
?
3.Message處理
需要監(jiān)聽 _conn.addEventListener(MessageEvent.MESSAGE, messageHandler);
當(dāng)收到消息時(shí)觸發(fā) MessageEvent.MESSAGE
var m:Message = event.data as Message;
m.from 消息發(fā)送者
m.body 消息內(nèi)容
m.type 消息類型 (Message.CHAT_TYPE, Message.GROUPCHAT_TYPE, Message.ERROR_TYPE 等)
?
發(fā)送消息
var message : Message = new Message(聯(lián)系人JID, null, null, null, Message.CHAT_TYPE, null); message.from = 發(fā)信人JID; message.body = 消息內(nèi)容 //message.htmlBody = _conn.send(message);
?
4.注冊(cè)用戶
創(chuàng)建一個(gè)用戶
var regdata : Object = {}; regdata.username = 用戶名 regdata.password = 密碼 regdata.email = 郵箱 _conn.sendRegistrationFields( regdata, null );
_conn需要監(jiān)聽 RegistrationSuccessEvent.REGISTRATION_SUCCESS, 當(dāng)注冊(cè)成功時(shí)觸發(fā).
?
5.Cross Domain
openfire的管理平臺(tái)中寫著: 端口5229? Flash Cross Domain
Security.loadPolicyFile("xmlsocket://Servername:5229");
?
openfire的crossdomain.xml是動(dòng)態(tài)生成的,可以telnet看一下,在命令行中運(yùn)行
telnet localhost 5229
會(huì)看到下面的內(nèi)容
<?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.尚待解決的問(wèn)題
xiff現(xiàn)在還沒(méi)實(shí)現(xiàn)XEP-0124
xiff直接連GTalk有問(wèn)題(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/
中文翻譯計(jì)劃
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
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
