xmpp學習筆記(三)


四:自動連接

 

從當前代碼來看,如果有意外的斷開,我們將無法獲取信息。

所以要添加XMPPReconnect

 

    xmppReconnect = [[XMPPReconnectalloc]init];

    [xmppReconnectactivate:self.xmppStream];

 

 

五:發送和接收消息 XEP-0136

 

布置好自己的聊天頁面,包括用來展示聊天記錄的UITableView,和發送消息的按鈕。

發送消息代碼如下:

 

 

接收消息:

當有消息進來后,調用- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message方法

 

xmpp的框架自有消息存儲的功能,用法與朋友列表類似。

 

 

 

 

發送消息后,查看文件夾,發現已經多了一個消息的數據庫,所有的消息都存儲在這里。

 

 

 

 

用類似朋友列表的方法取得了聊天信息的記錄,包括時間、信息、接收人、發送或者接收信息的判斷標志,信息到手,SM去吧!

 

依然是無法實時更新的問題,正在努力尋找合適的方法解決。

 

語音聊天

進行語音連天有兩種方式:base64編碼和Http

http的方式是在消息中添加http的連接,如果用戶要點擊播放則去下載。

base64則是將音頻文件轉換成base64,按照發送文本信息的模式發送,接收到后,進行解碼。

發送方法與文字發送一致。

語音轉換方式推薦:http://code4app.com/ios/%E5%BD%95%E9%9F%B3%E5%B9%B6AMR%E5%92%8CWAV%E4%BA%92%E8%BD%AC/51565c3e6803fa5c76000005

 

獲取到信息之后,轉碼,保存,點擊之后播放

 音頻部分需要真機運行~~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM