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

 

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

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


博客來源:http://www.cnblogs.com/PhenixWang/p/3277344.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章