飛信2010分析 成功登入之後

2021-09-30 07:40:44 字數 3304 閱讀 8850

2023年4月12日 

| 分類: 飛信哪些事兒 

| 標籤:

標題裡面的成功登入之後指的是sipc驗證成功之後。也就是說登入成功是指在完成第一步獲取系統配置資訊,ssi登入成功,sipc驗證成功之後才能算登入成功。

在sipc驗證成功之後,伺服器會返回很多資訊,登入記錄,個人資訊,好友分組,好友列表,個人配置等,這些資訊在2008的協議裡面都是逐個發起請求來獲取的,現在2010的協議登入成功就直接把這些所有的資料都返回來了,這個改進還不錯,減少了很多操作。如果沒有返回某一類的資訊,表明本地儲存的資訊版本和伺服器一致,就直接讀取快取,如果不做快取,也就是說本地版本總是0,伺服器也會總是返回資料。

這裡再詳細的的說下其中的好友列表,這是其中的乙個好友節點:

展開源**

檢視源**

列印關於

1.

為了便於分析,這裡轉為完整的拼寫如下:

展開源**

檢視源**

列印關於

1.

當相應的值為1的時候,就表明向對方公開相應的資訊。飛信的許可權設定的很複雜很亂,很多都是沒有必要的。當對方許可權設定為0的時候,獲取對方的資訊的時候就會是空值。真搞不懂飛信把許可權做的這麼複雜。

為啥要定義好友的狀態呢?訂閱的目的就是當好友狀態改變的時候,能及時傳送給客戶端。其實這裡的狀態包含了很多的資訊,比如使用者新更改了暱稱,個性簽名,更換了頭像,或者使用者登入,下線了等等,都是通過狀態改變傳送給客戶端的。如果不訂閱,伺服器是不會主動的傳送狀態改變資訊到客戶端的。

展開源**

檢視源**

列印關於

01.sub fetion.com.cn sip-c/4.0

02.f: 123456789

03.i: 10

04.q: 1 sub

05.n: presencev4

06.l: 87

07.

08.

09.----

10.sip-c/4.0 200 ok

11.i: 10

12.q: 1 sub

這在飛信裡面都是固定的值。只是最後乙個version是變化的,含義是最後更新好友資訊的版本號。但可以直接固定為0。

這是伺服器發回的乙個bn通知,其中的n(event)的值為prensencev4表明是狀態通知。

展開源**

檢視源**

列印關於

1.bn 123456789 sip-c/4.0

2.n: presencev4

3.i: 1

4.l: 360

5.q: 8 bn

6.

7.

可以看出格式和請求基本相同,但頭部不一樣,請求的頭部是method fetion.com.cn sip-c/4.0,第二部分是乙個網域名稱。而通知的格式是method 123456789 sip-c/4.0,第二部分是飛訊號,沒有按照標準的sip協議處理,這點要注意。由於是簡寫,為了便於分析,這裡轉為完整的拼寫。如下

展開源**

檢視源**

列印關於

1.

看起來很簡單,一看就懂。簡單說一下其中比較重要的。

這個屬性挺有意思的,代表了乙個時間長度。其格式是這樣的:天數.小時數:分鐘數:秒數。如 1.2:14:51 代表的就是1天2小時14分鐘51秒。

通常使用者設定多少時間內不通過手機簡訊接收資訊也是通過設定sms屬性來完成的,如果想要永遠不用簡訊接收飛信資訊就可以把這個時間長度設定為365天。

這個presence通知伺服器會發很多,並且乙個presence通知可能包含了多個好友的狀態通知。

在訂閱使用者狀態之後,就可以進行發訊息,新增好友操作了。

但飛信仍需要保持登入狀態,就是常說的心跳包,飛信沒隔一段時間就需要傳送心跳包,向伺服器表明我還活著。如果在指定的時間內,伺服器沒有接收到心跳包,就會關閉連線。

傳送心跳包很簡單

展開源**

檢視源**

列印關於

01.r fetion.com.cn sip-c/4.0

02.f: 123456789

03.i: 1

04.q: 12 r

05.n: keepalive

06.l: 97

07.

08.

09.------

10.sip-c/4.0 200 ok

11.i: 1

12.q: 12 r

13.x: 600

14.l: 1143

15.

16.

其中請求中i固定為1,q中序號逐次遞增就成了。返回了很多的credential,這麼多的credential幹啥用的,暫時還不清楚,可能和http的應用程式有關,比如獲取使用者頭像,共享等。暫時放下,以後分析這個了。。

飛信分析之八 飛信的加密方法

花了好幾天時間終於把飛信加密的密碼用非.net的方式給還原了,並用c 完全實現了一遍,回頭把這個c 版的showpasswd貼上來。看到有朋友問到飛信的加密方法,這裡就把飛信用的加密和變換的方法一起簡要介紹一下。1.飛信的配置檔案的加密方法 飛信的配置檔案其實不是加密,只是進行了一下變換。這種變換的...

需求分析 5 分析流程

1 小型流程 需求工作項 提交的文件 所處需求層次 業務目標 目標列表 業務需求 繪製用例圖 需求規約 或 用例模型 使用者需求 編寫用例規約 行為需求 2 中型流程 需求工作項 提交的文件 所處需求層次 業務目標 願景文件 業務需求 範圍 feature 上下文圖 繪製用例圖 需求規約 或 用例模...

20090901 分析函式ratio to

ratio to report函式 syntax 分析函式ratio to report 用來計算當前記錄的指標expr佔開窗函式over中包含記錄的所有同一指標的百分比.這裡如果開窗函式的統計結果為null或者為0,就是說占用比率的被除數為0或者為null,則得到的結果也為0.開窗條件query ...