[發明專利]一種基于瀏覽器的web即時通訊方法有效
| 申請號: | 201110454201.5 | 申請日: | 2011-12-30 |
| 公開(公告)號: | CN102413191A | 公開(公告)日: | 2012-04-11 |
| 發明(設計)人: | 林綠德 | 申請(專利權)人: | 深圳市旗瀚軟件有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/58 |
| 代理公司: | 深圳市順天達專利商標代理有限公司 44217 | 代理人: | 易釗 |
| 地址: | 518040 廣東省深圳市福*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 瀏覽器 web 即時通訊 方法 | ||
技術領域
本發明涉及計算機網絡通信技術領域,更具體地說,涉及一種基于瀏覽器的web即時通訊方法。
背景技術
近年來,以瀏覽器為終端的實時通信系統,以其使用方便、簡潔、不受限制等特點,已經被廣大用戶所接受,但是由于瀏覽器本身的特點,使其即時信息、狀態、消息通知等方面不能實時與用戶同步??梢娊鉀Q瀏覽器終端與服務器信息的實時同步,是提高用戶對瀏覽器終端產品的體驗的衡量指標之一。
Web即時通訊由于瀏覽器本身的原因,瀏覽器只能通過發送http鏈接獲得返回內容。由于瀏覽器本身就是這種“拉”的方式來實現跟后臺的交互,所以要基于瀏覽器要實現web即時通訊,現有普遍的做法(如圖1)都是使用“拉”的方式獲得服務器的信息,需要不停地發起鏈接到服務器查看是否有信息。采用此方法需要瀏覽器定時地發起請求,如果定時時間過長,則信息不能實時地提供給瀏覽器客戶端,如果定時時間過短,則瀏覽器會頻繁地發起請求,對服務器產生很大的壓力,并且很多請求都是空請求,因為可能在此時間用戶并沒有變化的信息,這樣將導致服務器的負擔會很大,有時候為了實現即時拿到一個信息會發送成千上萬的無用鏈接。
發明內容
本發明要解決的技術問題在于,針對現有技術的上述瀏覽器采用“拉”的方式通過不停的發送連接到服務器建立連接,導致服務器負擔大的缺陷,提供一種基于瀏覽器的web即時通訊方法。
本發明解決其技術問題所采用的技術方案是:構造一種基于瀏覽器的web即時通訊方法,包括以下步驟:
S1、用戶登錄瀏覽器客戶端;
S2、瀏覽器客戶端向服務器發起http請求;
S3、服務器從線程池獲取線程處理瀏覽器客戶端發起的http連接,服務器判斷其緩沖區是否有新信息,如果有,則執行步驟S7;如果沒有,則執行步驟S4;
S4、服務器使用NIO技術掛起連接,并釋放線程到線程池;
S5、服務器判斷連接是否超時,所述超時是指超過預設連接時間;如果超時,則從線程池獲取一個線程發送一個心跳信號給瀏覽器客戶端,返回步驟S2;否則執行步驟S6;
S6、服務器判斷是否有新信息,如果是,則執行步驟S7,否則繼續監控;
S7、服務器從線程池獲取線程,將新信息發送給瀏覽器客戶端,瀏覽器客戶端處理接收到的新信息,處理完成后返回步驟S2。
在本發明的基于瀏覽器的web即時通訊方法中,所述步驟S5進一步包括,瀏覽器客戶端收到心跳信號后,不做任何處理直接返回步驟S2。
在本發明的基于瀏覽器的web即時通訊方法中,在建立http連接時,以異步的方式實現接入服務。
在本發明的基于瀏覽器的web即時通訊方法中,所述新信息是由即時通信系統提供。
在本發明的基于瀏覽器的web即時通訊方法中,所述新信息包括所述即時通信系統的系統即時消息、聯系人變化信息和系統通知中的一種或者多種。
在本發明的基于瀏覽器的web即時通訊方法中,所述預設連接時間是10分鐘。
實施本發明的基于瀏覽器的web即時通訊方法,具有以下有益效果:瀏覽器客戶端向服務器發起http請求后,在建立連接后在預設連接時間等待數據,在沒有新信息的時候采用NIO技術掛起連接,并釋放線程到線程池,這樣線程就可以處理其它連接,大幅度減輕了服務器不必要的負擔,提高服務器端的性能,減少服務器的壓力。服務器在檢測到有新信息時即時將新信息推到瀏覽器客戶端,極大減少了瀏覽器客戶端發送到服務器的沒用連接,大大減輕了服務器的壓力。
附圖說明
下面將結合附圖及實施例對本發明作進一步說明,附圖中:
圖1是現有的基于瀏覽器的web即時通訊方法流程圖;
圖2是本發明的基于瀏覽器的web即時通訊方法流程圖。
具體實施方式
為了使本發明的目的更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
如圖1所示,本發明的基于瀏覽器的web即時通訊方法流程圖,包含以下步驟:
S1、用戶登錄瀏覽器客戶端;
S2、瀏覽器客戶端向服務器發起http請求;
S3、服務器從線程池獲取線程處理瀏覽器客戶端發起的http連接,服務器判斷其緩沖區是否有新信息,如果有,則執行步驟S7;如果沒有,則執行步驟S4;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市旗瀚軟件有限公司,未經深圳市旗瀚軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110454201.5/2.html,轉載請聲明來源鉆瓜專利網。





