如何排查即時通訊開發平臺故障信息

在開發,或是使用AnyChat Platform Core SDK的過程中,特別是在對AnyChat SDK不熟悉的情況下,遇到問題通常無從下手,這裏我們給出較通用的故障分析、排查和解決方案:

 

一、服務器部分

服務器程序啓動後,會在服務器程序所在目錄生成一個日誌文件:“AnyChatCoreServer.log”,典型的日誌文件內容如下:

1.---------------------------Init Service---------------------------
2.Current File Version[2, 8, 6, 2],Build time:2010-06-22 20:17:25
3.Authorized certification success!
4.Run Service
5.Start TCP Server Successed(port=8906)!
6.Start UDP Server Successed(port=8907)!

裏面記錄了服務器的版本信息,以及發佈時間,另外最重要的兩點,還記錄了授權信息是否驗證成功和當前啓動TCP和UDP的服務是否成功。

如果在服務器的配置文件中配置了SDK Filter (Plus)的接口,則也會在日誌文件中記錄加載是否成功。

通常服務器會遇到如下問題:

1、由於授權信息驗證失敗,而導致服務器啓動失敗。服務器啓動時,會讀取當前目錄下的授權證書文件(AnyChat.cer)並驗證是否有效,如果該文件丟失,或是授權信息不正確,均會導致啓動失敗,遇到該問題,請與我們的售後服務聯繫(附:聯繫方式);

 

2、由於端口被佔用導致服務器啓動失敗。如果服務器配置文件中所配置的TCP、UDP端口被別的程序佔用,或是啓動了多個服務器進程,都將會導致端口被佔用,遇到該問題,只需要關閉使用該端口的進程,或是在配置文件中修改端口號,然後重新啓動服務器程序即可;

 

3、服務器運行過程中出現異常,通常AnyChat服務器都能捕獲所產生的異常,將該異常發生點的內存進行轉儲爲文件,文件名爲“BRGVServerCrash.dmp”和“BRGVServerErrorLog.txt”,當異常發生後,請將這兩份文件提供給我們,將有助於我們快速定位故障點,並提供升級補丁程序。

 

二、客戶端部分

如果上層應用程序沒有主動關閉AnyChat SDK的日誌功能,則客戶端程序運行後,將會在應用程序當前目錄生成一個日誌文件:“BRAnyChatCore.log”,可用記事本打開,裏面記錄了SDK的版本號,發佈日期,啓動時加載庫文件是否成功的信息,以及上層應用調用AnyChat SDK的API接口信息,幷包含部分參數。

通常分析客戶端日誌文件可以解決大部分關於客戶端的不正常現象,包括:

1、不同的版本造成的異常:客戶端日誌會記錄SDK的版本信息,相關庫文件的版本信息和發佈時間,和正常日誌文件作對比,判斷是否由於版本的不同導致的不正常;

 

2、由於組件沒有註冊成功,或是相關組件(DLL文件)加載失敗,造成部分功能的不正常,如不能打開視頻,或是不能打開本地音頻採集設備,均可能是組件註冊,或是組件缺失所導致的;

 

3、由於調用參數的錯誤導致SDK不能正常工作,如連接服務器不成功,而服務器又是正常的情況,通常是傳入的IP地址,或是端口號不正確所導致的,該類問題可以分析日誌文件中所記錄的API傳入參數來查找原因;

 

4、由於API調用的順序問題而導致客戶端的異常:通過和正常的日誌文件進行對比,判斷API的調用是否存在問題。

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