ios開發(fā)中xmpp,ios開發(fā)中的框架有哪些

iOS中利用XMPP怎么實(shí)現(xiàn)好友添加與獲取好友列表

主要用的類有:

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)兩當(dāng)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

Roster 可以理解為好友花名冊(cè),提供創(chuàng)建刪除獲取列表等功能Roster.SubscriptionMode 這個(gè)在建立鏈接的時(shí)候使用,我的理解就是設(shè)置接收請(qǐng)求的模式,有三種,我們項(xiàng)目用的是SubscriptionMode.manual 也就是手動(dòng)處理。

Presence 有關(guān)好友的推送消息,都是Presence包

Presence.Type 有7個(gè)Type,包含了好友上線下線、添加刪除好友及錯(cuò)誤信息的Type

PacketFilter 過濾器,此功能中主要實(shí)現(xiàn)過濾出Presence

PacketListener 看名字就知道,Packet監(jiān)聽,可以監(jiān)聽到服務(wù)端發(fā)來的所有信息。因?yàn)閤mpp發(fā)的包都是它的子類~

ios 開發(fā)升級(jí)X-code 7 以后使用XMPP的時(shí)候報(bào)錯(cuò)

注釋掉就好了。

這個(gè)是個(gè)宏定義的判斷,只在MAC OSX10.5以下有效,現(xiàn)在都10.11了,這個(gè)注釋掉完全不影響,而且你開發(fā)的是手機(jī)應(yīng)用,更不影響了。

iOS怎么搭建xmpp聊天

iOS 搭建xmpp聊天的具體步驟如下:

聊天室

[cpp] view plain copy

print?

//初始化聊天室

XMPPJID *roomJID = [XMPPJID jidWithString:ROOM_JID];

xmppRoom = [[XMPPRoom alloc] initWithRoomStorage:self jid:roomJID];

[xmppRoom activate:xmppStream];

[xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];

[cpp] view plain copy

print?

//創(chuàng)建聊天室成功

- (void)xmppRoomDidCreate:(XMPPRoom *)sender

{

DDLogInfo(@"%@: %@", THIS_FILE, THIS_METHOD);

}

[cpp] view plain copy

print?

//加入聊天室,使用昵稱

[xmppRoom joinRoomUsingNickname:@"quack" history:nil];

[cpp] view plain copy

print?

//獲取聊天室信息

- (void)xmppRoomDidJoin:(XMPPRoom *)sender

{

[xmppRoom fetchConfigurationForm];

[xmppRoom fetchBanList];

[xmppRoom fetchMembersList];

[xmppRoom fetchModeratorsList];

}

如果房間存在,會(huì)調(diào)用委托

[cpp] view plain copy

print?

// 收到禁止名單列表

- (void)xmppRoom:(XMPPRoom *)sender didFetchBanList:(NSArray *)items;

// 收到好友名單列表

- (void)xmppRoom:(XMPPRoom *)sender didFetchMembersList:(NSArray *)items;

// 收到主持人名單列表

- (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items;

房間不存在,調(diào)用委托

[cpp] view plain copy

print?

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchBanList:(XMPPIQ *)iqError;

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchMembersList:(XMPPIQ *)iqError;

- (void)xmppRoom:(XMPPRoom *)sender didNotFetchModeratorsList:(XMPPIQ *)iqError;

離開房間

[cpp] view plain copy

print?

[xmppRoom deactivate:xmppStream];

[cpp] view plain copy

print?

//離開聊天室

- (void)xmppRoomDidLeave:(XMPPRoom *)sender

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

其他代理

[cpp] view plain copy

print?

//新人加入群聊

- (void)xmppRoom:(XMPPRoom *)sender occupantDidJoin:(XMPPJID *)occupantJID

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

//有人退出群聊

- (void)xmppRoom:(XMPPRoom *)sender occupantDidLeave:(XMPPJID *)occupantJID

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

//有人在群里發(fā)言

- (void)xmppRoom:(XMPPRoom *)sender didReceiveMessage:(XMPPMessage *)message fromOccupant:(XMPPJID *)occupantJID

{

DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);

}

在ios中怎樣使用xmpp來主動(dòng)查詢某一好友是否在線

iOS無法做到這一點(diǎn),

因?yàn)镮OS的應(yīng)用程序并不知道自身是否被系統(tǒng)KILL掉,

比如QQ,在好友KILL掉QQ程序以后, 你依然無法知道他是否下線, 他的頭像依然顯示在線.

除非應(yīng)用內(nèi)有一個(gè)動(dòng)作:退出登錄, 并且用戶通過點(diǎn)擊"退出登錄"來主動(dòng)退出應(yīng)用, 服務(wù)器才能得知他是否下線。

iOS XMPP怎么實(shí)現(xiàn)語音聊天

兩種處理方式

1、將獲取到的音頻文件通過base64加密直接通過xmpp的消息體發(fā)送過去,然后解碼;

2、通過http請(qǐng)求的方式將音頻文件上傳到服務(wù)器,然后將音頻文件的下載地址通過xmpp消息體發(fā)送過去,另外一個(gè)客戶端下載。

音頻文件建議轉(zhuǎn)碼為amr,這種格式的音頻文件比較小。

ios socket和xmpp哪個(gè)好

socket是套接字,在你的語境下,多指?jìng)鬏攲泳W(wǎng)絡(luò)接口。

webSocket,是一個(gè)應(yīng)用層協(xié)議,說的是,目前瀏覽器實(shí)現(xiàn)的一套通信協(xié)議,用來解決之前HTTP,請(qǐng)求響應(yīng)模型不合適的場(chǎng)合。

XMPP,是一個(gè)應(yīng)用層協(xié)議,協(xié)議基于XML結(jié)構(gòu)設(shè)計(jì)。

其實(shí)websocket是socket的簡(jiǎn)約實(shí)現(xiàn),與socket相比,可以節(jié)省額外的端口占用,直接使用一個(gè)公網(wǎng)域名訪問。另外協(xié)議對(duì)報(bào)文的流量消耗做了優(yōu)化。xmpp與websocket比也是比較臃腫的

xmpp是im的使用比較廣泛的協(xié)議,早期的手機(jī)端推送為了省事就用的這種協(xié)議,但是后來發(fā)現(xiàn)這種協(xié)議比較臃腫耗流量,而且對(duì)服務(wù)器要求比較高

網(wǎng)站名稱:ios開發(fā)中xmpp,ios開發(fā)中的框架有哪些
當(dāng)前URL:http://muchs.cn/article44/phidee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、企業(yè)建站App設(shè)計(jì)、靜態(tài)網(wǎng)站自適應(yīng)網(wǎng)站、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)