[發(fā)明專利]一種基于消息中間件的客戶端自動重連方法有效
| 申請?zhí)枺?/td> | 201110053661.7 | 申請日: | 2011-03-07 |
| 公開(公告)號: | CN102111419A | 公開(公告)日: | 2011-06-29 |
| 發(fā)明(設計)人: | 尹建偉;蘇勇;吳朝暉;鄧水光;李瑩;吳健 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08 |
| 代理公司: | 杭州裕陽專利事務所(普通合伙) 33221 | 代理人: | 江助菊 |
| 地址: | 310027 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 消息 中間件 客戶端 自動 方法 | ||
1.一種基于消息中間件的客戶端自動重連方法,包括服務器和客戶端,其特征在于
所述服務器處理客戶端請求的線程包括以下步驟:
1)接收到客戶端發(fā)來請求,進行握手過程,然后接收客戶端發(fā)送過來的sessionID,解析sessionID,判斷是否為空,若為空,則執(zhí)行2),否則執(zhí)行3);
2)服務器自動生成一個唯一的sessionID,將sessionID發(fā)送給客戶端,執(zhí)行4);
3)判斷sessionID與該客戶端在服務器中保存的sessionID是否一致,若一致,執(zhí)行4),否則,執(zhí)行5);
4)接收并處理客戶端請求
5)向客戶端發(fā)送錯誤報告,關閉該客戶端連接;
所述客戶端的具體操作包括以下步驟:
1)創(chuàng)建socket連接成功后,啟動socket的讀線程R和寫線程W,然后將通訊過程交給讀線程R和寫線程W;
2)置sessionID為空,讓讀線程R、寫線程W進行握手過程,若握手失敗,則關閉連接并退出,否則判斷該客戶端是消息發(fā)送者,還是接收者,如果是消息發(fā)送者,進入3),否則進入4);
3)寫線程W、讀線程R進行發(fā)消息過程,直到把消息發(fā)完;
4)寫線程W發(fā)送接收消息請求,然后寫線程W、讀線程R進行接收消息過程,進行接收消息過程;
5)?若寫線程W捕獲到網絡異常,保存數(shù)據(jù),設置網絡異常標識變量為真,然后定時的連接服務器,直到連接上或者連接次數(shù)超過上限。連接創(chuàng)建成功后,重新執(zhí)行握手過程,回到斷網前的狀態(tài);
6)?若讀線程R捕獲到網絡異常,睡眠一段時間,判斷標識變量是否為真,若為真,則表示寫線程W已經捕獲到了網絡異常,將標識為設為假,回到原來狀態(tài);否則,阻塞寫線程W,啟動一個新的寫線程W2,與讀線程R一起進行握手過程,握手成功后,殺死寫線程W2,喚醒寫線程W,回到斷網前的狀態(tài)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110053661.7/1.html,轉載請聲明來源鉆瓜專利網。





