專利名稱:一種傳輸控制異常斷開的檢測方法、裝置、服務器及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及無線網(wǎng)絡領域,尤其涉及一種傳輸控制協(xié)議異常斷開的檢測方法、裝置、服務器及系統(tǒng)。
背景技術:
手機自帶的標準流播放器中,有部分建立rtsp (Real Time Streaming Protocol),實時流傳輸協(xié)議信令后,能定時發(fā)送option消息給服務器,服務器收到消息后返回應答,客戶端與服務器可以根據(jù)這個定時發(fā)送的操作請求(option請求)和應答來判斷當前的鏈路狀態(tài),而大部分手機自帶的播放器,在建立rtsp信令通道后,并沒有定時發(fā)送option消息(如nokia的v3和v5手機等),當出現(xiàn)異常鏈路斷開的情況時,服務器最終并不能檢測到客戶端斷開,從而服務器為該鏈接分配的資源不能最終釋放,導致服務器假鏈接越積越多,內存占用率越來越高。
因此,目前需要提供一種能夠檢測客戶端與服務器之間TCP (Transmission Control ftOtocol傳輸控制協(xié)議)鏈路異常斷開的策略,提高服務器的資源利用率。發(fā)明內容
本發(fā)明實施例的目的在于提出一種一種傳輸控制異常斷開的檢測方法,旨在解決現(xiàn)有技術中客戶端與服務器之間鏈路異常斷開,但是服務器沒有釋放相應的資源的問題。
所述的一種傳輸控制異常斷開的檢測方法包括
建立傳輸控制鏈路;
按照預置的時間間隔,周期性地內發(fā)送信令;
獲取所述發(fā)送信令反饋的第一返回值;
判斷所述的第一返回值是否等于第一預置值,若是,則根據(jù)第一返回值獲取錯誤碼,判斷所述錯誤碼是否為第二預置值,若是,則在預置的時間間隔后,繼續(xù)發(fā)送所述的信令。
其中,所述的“判斷所述的第一返回值是否等于第一預置值”,若否,則判斷所述的第一返回值是否等于待發(fā)送所述信令的數(shù)據(jù)總長度,若是,則發(fā)送第二返回值。
其中,所述的“判斷所述的第一返回值是否等于待發(fā)送所述信令的數(shù)據(jù)總長度”, 若否,則在預置的時間間隔后,繼續(xù)發(fā)送所述的信令。
其中,所述的“判斷所述錯誤碼是否為第二預置值”,若否,則斷開所述傳輸控制鏈路,發(fā)送第三返回值。
本發(fā)明還提供了一種傳輸控制異常斷開的檢測裝置,所述的裝置包括
連接單元、發(fā)送單元、處理單元
連接單元,用于建立傳輸控制鏈路;
發(fā)送單元,按照預置的時間間隔,周期性地內發(fā)送信令;
處理單元,包括第一處理單元,用于獲取根據(jù)所述發(fā)送信令反饋的返回值;判斷所述的第一返回值是否等于第一預置值,若是,則根據(jù)第一返回值獲取錯誤碼,判斷所述錯誤碼是否為第二預置值,若是,則向所述發(fā)送單元發(fā)送發(fā)送指令,通知發(fā)送單元在預置的時間間隔后,繼續(xù)發(fā)送所述的信令。
其中,所述的處理單元,進一步包括第二處理單元;
第二處理單元,用于當?shù)谝惶幚韱卧袛嗨龅牡谝环祷刂挡坏扔诘谝活A置值時,進一步判斷所述的第一返回值是否等于待發(fā)送所述信令的數(shù)據(jù)總長度,若是,則通知發(fā)送單元發(fā)送第二返回值;
所述的發(fā)送單元,進一步發(fā)送所述的第二返回值。
其中,所述的第二處理單元,進一步包括第三處理單元;
第三處理單元,用于第二處理單元判斷出所述的第一返回值不等于待發(fā)送所述信令的數(shù)據(jù)總長度時,則向所述發(fā)送單元發(fā)送發(fā)送指令,通知發(fā)送單元在預置的時間間隔后, 繼續(xù)發(fā)送所述的信令。
其中,所述的第一處理單元,進一步包括第四處理單元;
第四處理單元,當?shù)谝惶幚韱卧袛嗨鲥e誤碼不是第二預置值時,則通知所述連接單元斷開傳輸控制鏈路,并通知發(fā)送單元發(fā)送第三返回值;
所述的連接單元,進一步接收第四處理單元的通知斷開所述傳輸控制鏈路;
所述的發(fā)送單元,進一步用于接收第四處理單元的通知,發(fā)送第三返回值。
本發(fā)明還提供一種傳輸控制異常斷開的檢測服務器,所述的服務器包括所述的傳輸控制異常斷開的裝置。
本發(fā)明還提供了一種傳輸控制異常斷開的檢測系統(tǒng),所述的系統(tǒng)包括所述的傳輸控制異常斷開的服務器。
本發(fā)明當播放器與服務器rtsp信令通道建立后,服務器設置定時器,定時向播放器發(fā)送option消息,服務器通過檢測發(fā)送返回值,來判定對端是否斷開,并做相應的處理, 從而釋放相應的服務器資源,也就是說通過服務器在發(fā)送信令消息后,根據(jù)發(fā)送接口返回的返回值來判斷當前鏈路的狀態(tài),當前鏈路狀態(tài)為斷開時,則釋放相應的鏈路資源,提高了服務器資源的利用率。
圖1是本發(fā)明實施例的一種傳輸控制協(xié)議異常斷開的檢測方法流程圖2是本發(fā)明實施例的一種傳輸控制協(xié)議異常斷開的檢測系統(tǒng)結圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖和實施例,對本發(fā)明進行進一步詳細說明,為了便于說明,僅示出了與本發(fā)明實施例相關的部分。應當理解,此處所描寫的具體實施例,僅僅用于解釋本發(fā)明,并不用以限制本發(fā)明。
本發(fā)明主要適用于手機無線網(wǎng)絡領域,用于解決標準流服務器與客戶端播放器之間的tcp鏈路因手機播放器異常,手機沒電自動關機及無信號等原因導致異常斷開而服務器無法檢測到的問題。該方法根據(jù)客戶端會主動丟棄服務器發(fā)送的option消息的這一特性,當播放器與服務器rtsp信令通道建立后,服務器設置定時器,定時向播放器發(fā)送option消息,服務器通過檢測獲取的第一返回值,并根據(jù)第一返回值來獲取錯誤碼,若錯誤碼等于第二預置值,則可以判定對端已經(jīng)斷開,并做相應的處理,從而釋放相應的服務器資源。
實施例一
參見圖1,本發(fā)明提供一種傳輸控制協(xié)議異常斷開的檢測方法,該方法可以為
步驟101 標準流客戶端播放器向標準流服務器發(fā)送請求,請求建立TCP連接;
步驟102 標準流服務器通過三次握手協(xié)議,與標準流客戶端建立TCP連接;
步驟103 在標準流服務器端預置時間間隔,當?shù)竭_預置的時間后,周期性的向標準流客戶端播放器發(fā)送option信令;
也就是說可以在標準流服務器端設置一個定時器,到達定時時間時,就向標準流客戶端播放器發(fā)送option信令;這個時間間隔可以根據(jù)需要進行設置,例如可以設置成3秒。
步驟104 標準流服務器端獲取option信令反饋的第一返回值,例如這個第一返回值可以是-1或0 <第一返回值<已經(jīng)發(fā)送的數(shù)據(jù)總長度。例如需要發(fā)送100長度的數(shù)據(jù),然后發(fā)送一次后,第一返回值為1,那么表示此次共成功發(fā)送完1個字節(jié)的數(shù)據(jù),還剩下 KKK1 = 99個字節(jié)的數(shù)據(jù)需要發(fā)送。第一返回值可以通過標準流服務器的發(fā)送接口來獲取;
步驟105 判斷所述的第一返回值是否等于第一預置值,若是則執(zhí)行步驟106,若否則執(zhí)行步驟108 ;例如第一預置值可以為-1 ;
步驟106 根據(jù)第一返回值獲取錯誤碼,判斷所述的錯誤碼是否為第二預置值,若是則執(zhí)行步驟103,若否則執(zhí)行步驟107 ;
例如該步驟中可以判斷所述的錯誤碼是否為EAGAIN,若是則執(zhí)行步驟103 ;若否則執(zhí)行步驟107。
該步驟中獲取錯誤碼的方法可以是通過系統(tǒng)的API來獲取,這個獲取的方法屬于本領域中技術人員公知常識,在此不再累述。
步驟107 標準流服務器則斷開與標準流客戶端播放器的TCP鏈路,發(fā)送第二返回值,結束;例如第二返回值可以為-1 ;
步驟108 標準流服務器判斷所述的第一返回值,是否等于等待發(fā)送的option信令的數(shù)據(jù)總長度;若否則執(zhí)行步驟103 ;若是則執(zhí)行步驟109 ;
步驟109 發(fā)送option信令成功,發(fā)送第三返回值;例如第三返回值可以為0。
實施例二
參見圖2,本發(fā)明提供一種傳輸控制異常斷開的檢測裝置,所述的裝置可以包括
連接單元、發(fā)送單元、處理單元
連接單元,用于建立傳輸控制鏈路;
發(fā)送單元,按照預置的時間間隔,周期性地內發(fā)送信令;
處理單元,包括第一處理單元,用于獲取根據(jù)所述發(fā)送信令反饋的返回值;判斷所述的第一返回值是否等于第一預置值,若是,則根據(jù)第一返回值獲取錯誤碼,判斷所述錯誤碼是否為第二預置值,若是,則向所述發(fā)送單元發(fā)送發(fā)送指令,通知發(fā)送單元在預置的時間間隔后,繼續(xù)發(fā)送所述的信令。
其中,所述的處理單元,進一步包括第二處理單元;
第二處理單元,用于當?shù)谝惶幚韱卧袛嗨龅牡谝环祷刂挡坏扔诘谝活A置值時,進一步判斷所述的第一返回值是否等于待發(fā)送所述信令的數(shù)據(jù)總長度,若是,則通知發(fā)送單元發(fā)送第二返回值;
所述的發(fā)送單元,進一步發(fā)送所述的第二返回值。
其中,所述的第二處理單元,進一步包括第三處理單元;
第三處理單元,用于第二處理單元判斷出所述的第一返回值不等于待發(fā)送所述信令的數(shù)據(jù)總長度時,則向所述發(fā)送單元發(fā)送發(fā)送指令,通知發(fā)送單元在預置的時間間隔后, 繼續(xù)發(fā)送所述的信令。
其中,所述的第一處理單元,進一步包括第四處理單元;
第四處理單元,當?shù)谝惶幚韱卧袛嗨鲥e誤碼不是第二預置值時,則通知所述連接單元斷開傳輸控制鏈路,并通知發(fā)送單元發(fā)送第三返回值;
所述的連接單元,進一步接收第四處理單元的通知斷開所述傳輸控制鏈路;
所述的發(fā)送單元,進一步用于接收第四處理單元的通知,發(fā)送第三返回值。
本發(fā)明當播放器與服務器rtsp信令通道建立后,服務器設置定時器,定時向播放器發(fā)送option消息,服務器通過檢測發(fā)送返回值,來判定對端是否斷開,并做相應的處理, 從而釋放相應的服務器資源,也就是說通過服務器在發(fā)送信令消息后,根據(jù)發(fā)送接口返回的返回值來判斷當前鏈路的狀態(tài),當前鏈路狀態(tài)為斷開時,則釋放相應的鏈路資源,提高了服務器資源的利用率。
本領域的普通技術人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序指令相關硬件來完成的,所述的程序可以存儲于一計算機可讀取存儲介質中, 所述的存儲介質可以為ROM、RAM、磁盤、光盤等。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種傳輸控制異常斷開的檢測方法,其特征在于,所述的方法包括 建立傳輸控制鏈路;按照預置的時間間隔,周期性地內發(fā)送信令; 獲取所述發(fā)送信令反饋的第一返回值;判斷所述的第一返回值是否等于第一預置值,若是,則根據(jù)第一返回值獲取錯誤碼,判斷所述錯誤碼是否為第二預置值,若是,則在預置的時間間隔后,繼續(xù)發(fā)送所述的信令。
2.根據(jù)權利要求1所述的傳輸控制異常斷開的檢測方法,其特征在于,所述的“判斷所述的第一返回值是否等于第一預置值”,若否,則判斷所述的第一返回值是否等于待發(fā)送所述信令的數(shù)據(jù)總長度,若是,則發(fā)送第二返回值。
3.根據(jù)權利要求2所述的傳輸控制異常斷開的檢測方法,其特征在于,所述的“判斷所述的第一返回值是否等于待發(fā)送所述信令的數(shù)據(jù)總長度”,若否,則在預置的時間間隔后, 繼續(xù)發(fā)送所述的信令。
4.根據(jù)權利要求1所述的傳輸控制異常斷開的檢測方法,其特征在于,所述的“判斷所述錯誤碼是否為第二預置值”,若否,則斷開所述傳輸控制鏈路,發(fā)送第三返回值。
5.一種傳輸控制異常斷開的檢測裝置,其特征在于,所述的裝置包括 連接單元、發(fā)送單元、處理單元連接單元,用于建立傳輸控制鏈路;發(fā)送單元,按照預置的時間間隔,周期性地內發(fā)送信令;處理單元,包括第一處理單元,用于獲取根據(jù)所述發(fā)送信令反饋的返回值;判斷所述的第一返回值是否等于第一預置值,若是,則根據(jù)第一返回值獲取錯誤碼,判斷所述錯誤碼是否為第二預置值,若是,則向所述發(fā)送單元發(fā)送發(fā)送指令,通知發(fā)送單元在預置的時間間隔后,繼續(xù)發(fā)送所述的信令。
6.根據(jù)權利要求5所述的傳輸控制異常斷開的檢測裝置,其特征在于,所述的處理單元,進一步包括第二處理單元;第二處理單元,用于當?shù)谝惶幚韱卧袛嗨龅牡谝环祷刂挡坏扔诘谝活A置值時,進一步判斷所述的第一返回值是否等于待發(fā)送所述信令的數(shù)據(jù)總長度,若是,則通知發(fā)送單元發(fā)送第二返回值;所述的發(fā)送單元,進一步發(fā)送所述的第二返回值。
7.根據(jù)權利要求6所述的傳輸控制異常斷開的檢測裝置,其特征在于,所述的第二處理單元,進一步包括第三處理單元;第三處理單元,用于第二處理單元判斷出所述的第一返回值不等于待發(fā)送所述信令的數(shù)據(jù)總長度時,則向所述發(fā)送單元發(fā)送發(fā)送指令,通知發(fā)送單元在預置的時間間隔后,繼續(xù)發(fā)送所述的信令。
8.根據(jù)權利要求5所述的傳輸控制異常斷開的檢測裝置,其特征在于,所述的第一處理單元,進一步包括第四處理單元;第四處理單元,當?shù)谝惶幚韱卧袛嗨鲥e誤碼不是第二預置值時,則通知所述連接單元斷開傳輸控制鏈路,并通知發(fā)送單元發(fā)送第三返回值;所述的連接單元,進一步接收第四處理單元的通知斷開所述傳輸控制鏈路; 所述的發(fā)送單元,進一步用于接收第四處理單元的通知,發(fā)送第三返回值。
9.一種傳輸控制異常斷開的檢測服務器,其特征在于,所述的服務器包括權利要求5 至8其中之一所述的傳輸控制異常斷開的裝置。
10.一種傳輸控制異常斷開的檢測系統(tǒng),其特征在于,所述的系統(tǒng)包括權利要求9所述的傳輸控制異常斷開的服務器。
全文摘要
本發(fā)明提供一種傳輸控制異常斷開的檢測方法及裝置。本發(fā)明根據(jù)客戶端會主動丟棄服務器發(fā)送的option消息的這一特性,當播放器與服務器rtsp信令通道建立后,服務器設置定時器,定時向播放器發(fā)送option消息,服務器通過檢測獲取的第一返回值,并根據(jù)第一返回值來獲取錯誤碼,若錯誤碼等于第二預置值,則可以判定對端已經(jīng)斷開,并做相應的處理,從而釋放相應的服務器資源、提高服務器的資源利用率。
文檔編號H04L29/08GK102523280SQ20111041393
公開日2012年6月27日 申請日期2011年12月13日 優(yōu)先權日2011年12月13日
發(fā)明者熊劍 申請人:深圳市融創(chuàng)天下科技股份有限公司