Flex2基於XMPP的chat程式 二

2021-08-22 13:56:28 字數 2193 閱讀 7762

先說說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 = 訊息內容

= _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"?>

6.尚待解決的問題xiff現在還沒實現xep-0124

xiff直接連gtalk有問題(talk.google.com:5222)

參考xiff 3.4.2

xiff 3 api

中文翻譯計畫

flex 2 with xiff

xiff actionscript 3.0 demo

小菜學Flex2(一 Flex起步)

自從小菜與大鳥對話之後,小菜下定決心,要把flex學好,走到國內ria的前列。於是上網找了很多關於flex的資料。研究起來,經過了一周多的研究,也花了不少時間,終於算是入了門。小菜總結下來,網上資訊很多,有好有差,如果什麼都看,其實真的沒有什麼必要,要想從起始學flex,建議走下列幾步就可以入門了。...

基於XMPP協議的WebIM

本篇主要介紹的是xmpp協議與strophe.js的使用 一 匯入必須的檔案及編寫頁面 二 基礎的登入功能 頁面上先新增乙個登入框 id signin class signinpanel name cred for jid 帳號 label type text id jid value for pa...

基於XMPP協議的即時通訊

最近公司的專案需要用到即時通訊技術,就花了一點時間對即時通訊技術進行研究。經過調研發現,通過openfire spark smack就可以實現。廢話不多說,下面我們就來講一下具體的實現。1.什麼叫openfire?openfire是乙個即時通訊伺服器,也稱之為即時通訊平台。它是基於xmpp協議的,大...