即時通訊2

2022-09-12 13:45:24 字數 4339 閱讀 6802

乙個將要開發xmpp的專案,建議在專案剛建立就匯入框架,這樣可以避免一些自己操作失誤造成不必要的損失。

xmpp中最常用的框架就是 xmppframework

往期回顧:

xmpp整理筆記:環境的快速配置(附安裝包)

新增 "/usr/include/libxml2"

other linker flags

新增 "-lxml2"

library search paths

修改為"$(project_dir)",並改為"recursive"

在檔案頂部新增"#import "

就是使用cocoapods 可以一次性匯入,並且也不需要上述的配置和調整。並且以後更新框架的時候乙個pod update完事。

但是有乙個很嚴重的問題。就是你在匯入框架pod install的時候會報錯,出現乙個 circular dependency 就是迴圈依賴。這是cocoapods的版本問題,cocoapods0.35版本會對xmppframework框架造成迴圈依賴,解決的方法就是,將cocoapods的版本降到 0.34.4

終端操作指令如下:

1.解除安裝cocoapods 

$ sudo gem uninstall cocoapods

2.安裝xcodeproj

$ sudo gem install xcodeproj

3.安裝指定版本0.34.4的cocoapods

$ sudo gem install cocoapods -v 0.34.4

但是這樣很不爽啊,因為往後swift什麼的程式設計全都需要cocoapods的版本保持最新0.35 甚至0.36. 所以這個降版本非常蛋疼,兩種方法都能用。具體使用哪種,可根據自己喜好決定。反正我是選了第一種。

coredatastorage   coredata儲存

reconnect    重新連線

roster    好友管理

有資料表 xmpproster 用來管理使用者

管理使用者的類 xmppusercoredatastorageobject

systeminputactivitymonitor     系統輸入的活動監控

常用的模組:

xep - 0009    rpc(類似黑客技術)

xep - 0012    最後的活動(判斷上線,離開斷開)

xep - 0045    多人聊天

xep - 0054    名片-個人資訊設定

xep - 0065    sockets5位元組流

xep - 0066    二進位制資料傳輸(特殊資訊的傳送)

xep - 0085    聊天狀態通知

xep - 0136    聊天記錄歸檔

其中有資料表 xmppmessagearchiving

取出當前資訊的類 xmppmessagearchiving_message_coredataobject 

xep - 0153    基於名片的頭像

xep - 0199    xmpp ping (用來ping伺服器和ping自己)

xep - 0335    json容器(可能以後某些資訊傳輸將用json格式)

在core中:

xmppelement 是乙個基類 ,延展出三個子類

xmppiq    請求 (使用者登入,使用者註冊,新增好友等)

xmppmessage    訊息(用來發各種訊息等)

xmpppresence    展現(使用者上線下線提示等)

xmppstream    流,非常常用,大部分類的載入都在寫在流的懶載入裡

在vender中:

kissxml 用於xml的主要解析框架

乙個將要開發xmpp的專案,建議在專案剛建立就匯入框架,這樣可以避免一些自己操作失誤造成不必要的損失。

xmpp中最常用的框架就是 xmppframework

往期回顧:

xmpp整理筆記:環境的快速配置(附安裝包)

新增 "/usr/include/libxml2"

other linker flags

新增 "-lxml2"

library search paths

修改為"$(project_dir)",並改為"recursive"

在檔案頂部新增"#import "

就是使用cocoapods 可以一次性匯入,並且也不需要上述的配置和調整。並且以後更新框架的時候乙個pod update完事。

但是有乙個很嚴重的問題。就是你在匯入框架pod install的時候會報錯,出現乙個 circular dependency 就是迴圈依賴。這是cocoapods的版本問題,cocoapods0.35版本會對xmppframework框架造成迴圈依賴,解決的方法就是,將cocoapods的版本降到 0.34.4

終端操作指令如下:

1.解除安裝cocoapods 

$ sudo gem uninstall cocoapods

2.安裝xcodeproj

$ sudo gem install xcodeproj

3.安裝指定版本0.34.4的cocoapods

$ sudo gem install cocoapods -v 0.34.4

但是這樣很不爽啊,因為往後swift什麼的程式設計全都需要cocoapods的版本保持最新0.35 甚至0.36. 所以這個降版本非常蛋疼,兩種方法都能用。具體使用哪種,可根據自己喜好決定。反正我是選了第一種。

coredatastorage   coredata儲存

reconnect    重新連線

roster    好友管理

有資料表 xmpproster 用來管理使用者

管理使用者的類 xmppusercoredatastorageobject

systeminputactivitymonitor     系統輸入的活動監控

常用的模組:

xep - 0009    rpc(類似黑客技術)

xep - 0012    最後的活動(判斷上線,離開斷開)

xep - 0045    多人聊天

xep - 0054    名片-個人資訊設定

xep - 0065    sockets5位元組流

xep - 0066    二進位制資料傳輸(特殊資訊的傳送)

xep - 0085    聊天狀態通知

xep - 0136    聊天記錄歸檔

其中有資料表 xmppmessagearchiving

取出當前資訊的類 xmppmessagearchiving_message_coredataobject 

xep - 0153    基於名片的頭像

xep - 0199    xmpp ping (用來ping伺服器和ping自己)

xep - 0335    json容器(可能以後某些資訊傳輸將用json格式)

在core中:

xmppelement 是乙個基類 ,延展出三個子類

xmppiq    請求 (使用者登入,使用者註冊,新增好友等)

xmppmessage    訊息(用來發各種訊息等)

xmpppresence    展現(使用者上線下線提示等)

xmppstream    流,非常常用,大部分類的載入都在寫在流的懶載入裡

在vender中:

kissxml 用於xml的主要解析框架

mysql 即時通訊 即時通訊IM模板

更新記錄 1.0.3 2020 10 22 完成點對點通訊功能,修復若 ug。1.0.2 2020 06 02 1 增加登入 註冊 個人資訊頁面 speedy im 注意介紹 正在持續開發中,目前僅部分ui開發完成。demo im.apk 已有基礎ui以及登陸 點到點聊天等功能。開發客戶端測試賬號密...

即時通訊系統

企業擁有一套理想的即時通訊系統,正如找到了一位得心應手的商務秘書。然而,縱觀當前企業即時通訊市場,同質化的即時通訊軟體比比皆是,而能夠讓企業真正根據自身需要來按需定製 人性化開發的即時通訊系統卻少之又少。傳統開發理念讓企業被動使用即時通訊。目前,大多數的軟體提供商還在用傳統的開發理念來開發企業即時通...

即時通訊IM

mqtt message queuing telemetry transport,訊息佇列遙測傳輸 是ibm開發的乙個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支援所有平台,幾乎可以把所有聯網物品和外部連線起來,被用來當做感測器和致動器 比如通過twitter讓房屋聯網 的通訊協議。xmp...