两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

長(zhǎng)連接消息的通信方法及系統(tǒng)的制作方法

文檔序號(hào):9624159閱讀:309來(lái)源:國(guó)知局
長(zhǎng)連接消息的通信方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種通信方法及系統(tǒng),特別是涉及一種長(zhǎng)連接消息的通信方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)與計(jì)算機(jī)科技的發(fā)展,智能家居越來(lái)越熱門。為了能實(shí)時(shí)控制設(shè)備,一般設(shè)備和服務(wù)器之間采取長(zhǎng)連接的方式進(jìn)行實(shí)時(shí)通信。移動(dòng)終端通過(guò)APP,將消息發(fā)送給服務(wù)器,由服務(wù)器下發(fā)給設(shè)備。
[0003]現(xiàn)有技術(shù)普遍存在的問(wèn)題是,移動(dòng)終端和服務(wù)器之間通信采用HTTP協(xié)議,而服務(wù)器和設(shè)備之間采用一條TCP通道進(jìn)行通信。由于移動(dòng)終端和服務(wù)器之間的通信往往是并發(fā)的,一次通信可能會(huì)有很多個(gè)請(qǐng)求,但是服務(wù)器和設(shè)備之間的TCP通道只有一個(gè),這樣就會(huì)帶來(lái)一個(gè)問(wèn)題,即APP側(cè)一次發(fā)送多個(gè)請(qǐng)求,長(zhǎng)連接通道返回?cái)?shù)據(jù)的時(shí)候無(wú)法確定消息返回的先后順序,從而造成通信失敗。

【發(fā)明內(nèi)容】

[0004]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種長(zhǎng)連接消息的通信方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中處理并發(fā)請(qǐng)求時(shí)長(zhǎng)連接通道返回?cái)?shù)據(jù)的時(shí)候無(wú)法確定消息返回的先后順序,從而造成通信失敗的問(wèn)題。
[0005]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種長(zhǎng)連接消息的通信方法,包括以下步驟:
[0006]采用HTTP短連接的形式與移動(dòng)終端側(cè)的APP進(jìn)行交互,獲取所述APP發(fā)出的請(qǐng)求;
[0007]為所述APP發(fā)出的請(qǐng)求分配消息ID ;
[0008]將已獲得消息ID的請(qǐng)求通過(guò)長(zhǎng)連接通道轉(zhuǎn)發(fā)給設(shè)備處理,并接收設(shè)備返回的相應(yīng)數(shù)據(jù);
[0009]將設(shè)備返回的相應(yīng)數(shù)據(jù)發(fā)送給所述APP。
[0010]優(yōu)選地,所述方法還包括:分配專用線程以處理具有消息ID的請(qǐng)求。
[0011 ] 優(yōu)選地,所述方法還包括:記錄具有消息ID的請(qǐng)求的處理狀態(tài),為所述APP發(fā)出的請(qǐng)求分配消息ID時(shí),根據(jù)前一請(qǐng)求的處理狀態(tài),判斷當(dāng)前請(qǐng)求是否可以被發(fā)送,當(dāng)前請(qǐng)求可以被發(fā)送時(shí)為當(dāng)前請(qǐng)求分配消息ID,否則返回阻塞。
[0012]優(yōu)選地,所述請(qǐng)求的處理狀態(tài)包括:請(qǐng)求的發(fā)送狀態(tài)和設(shè)備返回相應(yīng)數(shù)據(jù)的接收狀態(tài)。
[0013]優(yōu)選地,所述方法還包括:存儲(chǔ)具有所述消息ID的請(qǐng)求對(duì)應(yīng)的長(zhǎng)連接通道信息。
[0014]基于上述目的,本發(fā)明還提供一種長(zhǎng)連接消息的通信系統(tǒng),包括:
[0015]APP連接模塊,采用HTTP短連接的形式與移動(dòng)終端側(cè)的APP進(jìn)行交互,獲取所述APP發(fā)出的請(qǐng)求;
[0016]消息控制器,為所述APP發(fā)出的請(qǐng)求分配消息ID ;
[0017]長(zhǎng)連接模塊,將已獲得消息ID的請(qǐng)求通過(guò)長(zhǎng)連接通道轉(zhuǎn)發(fā)給設(shè)備處理,并接收設(shè)備返回的相應(yīng)數(shù)據(jù);
[0018]所述APP連接模塊將設(shè)備返回的相應(yīng)數(shù)據(jù)發(fā)送給所述APP。
[0019]優(yōu)選地,所述長(zhǎng)連接模塊包括:同步消息線程池和同步消息狀態(tài)機(jī);其中,所述同步消息線程池分配專用線程以處理具有所述消息ID的請(qǐng)求,通過(guò)所述專用線程將具有所述消息ID的請(qǐng)求發(fā)送給設(shè)備,接收設(shè)備返回的相應(yīng)數(shù)據(jù),并將所述返回的相應(yīng)數(shù)據(jù)發(fā)送給所述APP連接模塊;所述同步消息狀態(tài)機(jī)記錄具有所述消息ID的請(qǐng)求的處理狀態(tài),并儲(chǔ)存所述返回的相應(yīng)數(shù)據(jù)。
[0020]優(yōu)選地,所述消息控制器,根據(jù)所述同步消息狀態(tài)機(jī)記錄的前一請(qǐng)求的處理狀態(tài),判斷當(dāng)前請(qǐng)求是否可以被發(fā)送,當(dāng)前請(qǐng)求可以被發(fā)送時(shí)返回消息ID,否則返回阻塞。
[0021]優(yōu)選地,所述請(qǐng)求的處理狀態(tài)包括:請(qǐng)求的發(fā)送狀態(tài)和設(shè)備返回的相應(yīng)數(shù)據(jù)的接收狀態(tài)。
[0022]優(yōu)選地,所述長(zhǎng)連接模塊還包括連接信息存儲(chǔ)模塊,存儲(chǔ)具有所述消息ID的請(qǐng)求對(duì)應(yīng)的長(zhǎng)連接通道信息。
[0023]如上所述,本發(fā)明的測(cè)試服務(wù)器性能的方法及系統(tǒng),具有以下有益效果:
[0024]本發(fā)明的長(zhǎng)連接消息的通信方法及系統(tǒng),通過(guò)為每個(gè)請(qǐng)求分配消息ID,并通過(guò)長(zhǎng)連接通道處理具有消息ID的請(qǐng)求,從而可對(duì)APP側(cè)的并發(fā)請(qǐng)求進(jìn)行調(diào)度,使得這些請(qǐng)求能合理的返回,消息處理過(guò)程安全可靠,解決了現(xiàn)有技術(shù)中通過(guò)長(zhǎng)連接通道難以處理并發(fā)請(qǐng)求的問(wèn)題。
【附圖說(shuō)明】
[0025]圖1顯示為本發(fā)明實(shí)施例的長(zhǎng)連接消息的通信方法的流程示意圖。
[0026]圖2顯示為本發(fā)明實(shí)施例的長(zhǎng)連接消息的通信系統(tǒng)的示意圖。
[0027]圖3顯示為本發(fā)明實(shí)施例的長(zhǎng)連接消息的通信系統(tǒng)的運(yùn)行示意圖。
[0028]元件標(biāo)號(hào)說(shuō)明
[0029]1APP連接模塊
[0030]2消息控制器
[0031]3長(zhǎng)連接模塊
[0032]301 同步消息線程池
[0033]302 同步消息狀態(tài)機(jī)
[0034]303 連接信息存儲(chǔ)模塊
[0035]S1 ?S4 步驟
【具體實(shí)施方式】
[0036]以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說(shuō)明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說(shuō)明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
[0037]需要說(shuō)明的是,以下實(shí)施例中所提供的圖示僅以示意方式說(shuō)明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0038]請(qǐng)參閱圖1,本實(shí)施例提供一種長(zhǎng)連接消息的通信方法,包括:
[0039]步驟S1采用HTTP短連接的形式與移動(dòng)終端側(cè)的APP進(jìn)行交互,獲取所述APP發(fā)出的請(qǐng)求;
[0040]步驟S2為所述APP發(fā)出的請(qǐng)求分配消息ID ;
[0041]步驟S3將已獲得消息ID的請(qǐng)求通過(guò)長(zhǎng)連接通道轉(zhuǎn)發(fā)給設(shè)備處理,并接收設(shè)備返回的相應(yīng)數(shù)據(jù);
[0042]步驟S4將設(shè)備返回的相應(yīng)數(shù)據(jù)發(fā)送給所述APP。
[0043]本方法通過(guò)為每個(gè)請(qǐng)求分配消息ID,可對(duì)APP側(cè)的并發(fā)請(qǐng)求進(jìn)行調(diào)度,使得這些請(qǐng)求能合理的返回。例如,每次有APP請(qǐng)求的時(shí)候,都需要到取得一個(gè)消息ID,取消息ID的過(guò)程通常是一個(gè)阻塞動(dòng)作,也就是當(dāng)該請(qǐng)求可以被發(fā)送的時(shí)候,才會(huì)返回消息ID。這樣的設(shè)計(jì)可以保證消息的有序發(fā)送和接收。
[0044]優(yōu)選地,該方法還可包括:記錄具有消息ID的請(qǐng)求的處理狀態(tài),為所述APP發(fā)出的請(qǐng)求分配消息ID時(shí),根據(jù)前一請(qǐng)求的處理狀態(tài),判斷當(dāng)前請(qǐng)求是否可以被發(fā)送,當(dāng)前請(qǐng)求可以被發(fā)送時(shí)為當(dāng)前請(qǐng)求分配消息ID,否則返回阻塞。其中,所述請(qǐng)求的處理狀態(tài)可以包括:請(qǐng)求的發(fā)送狀態(tài)和設(shè)備返回相應(yīng)數(shù)據(jù)的接收狀態(tài)。
[0045]例如,新接收到的一個(gè)請(qǐng)求,即當(dāng)前請(qǐng)求,需要分配消息ID時(shí),可先查看前一請(qǐng)求的處理狀態(tài),如果前一請(qǐng)求的處理狀態(tài)為已發(fā)送至設(shè)備,尚未接收到設(shè)備返回的數(shù)據(jù),此時(shí)前一請(qǐng)求的消息處理尚未完成,可判斷當(dāng)前請(qǐng)求還不能被發(fā)送,那么返回阻塞;當(dāng)前一請(qǐng)求的處理狀態(tài)為已收到設(shè)備返回相應(yīng)數(shù)據(jù)時(shí),可認(rèn)為前一請(qǐng)求的消息處理已完成,當(dāng)前請(qǐng)求可以被發(fā)送,此時(shí)則可為當(dāng)前請(qǐng)求分配消息ID,通過(guò)長(zhǎng)連接通道轉(zhuǎn)發(fā)該請(qǐng)求。通過(guò)記錄和查看前一請(qǐng)求的處理狀態(tài),可以更加合理的控制并發(fā)請(qǐng)求的流程。
[0046]此外,本方法,優(yōu)選地,可分配專用線程來(lái)處理具有消息ID的請(qǐng)求。這樣請(qǐng)求通過(guò)長(zhǎng)連接通道轉(zhuǎn)發(fā),并可按同步消息的方式返回。
[0047]優(yōu)選地,本方法還包括:存儲(chǔ)具有所述消息ID的請(qǐng)求對(duì)應(yīng)的長(zhǎng)連接通道信息。SP,存儲(chǔ)設(shè)備側(cè)的長(zhǎng)連接通道信息,即設(shè)備的MAC地址與長(zhǎng)連接通道的映射關(guān)系,也就是說(shuō),如果從某長(zhǎng)連接通道接收到一條消息,可以根據(jù)這個(gè)映射關(guān)系知道是哪臺(tái)MAC地址的設(shè)備發(fā)出的。
[0048]本發(fā)明所述的長(zhǎng)連接消息的通信方法的保護(hù)范圍不限于本實(shí)施例列舉的步驟執(zhí)行順序,凡是利用本發(fā)明的原理
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
临湘市| 罗平县| 临夏县| 定兴县| 枣强县| 黄陵县| 社旗县| 什邡市| 宝山区| 介休市| 温州市| 株洲县| 墨脱县| 惠东县| 灵寿县| 莱西市| 洪洞县| 通州区| 景谷| 太谷县| 林甸县| 安顺市| 安平县| 贺兰县| 惠安县| 通海县| 开阳县| 巴林左旗| 鹤山市| 高青县| 阜平县| 凤山县| 扎赉特旗| 鹤峰县| 仪征市| 蓝山县| 澎湖县| 法库县| 卓资县| 明星| 巴马|