本申請(qǐng)屬于計(jì)算機(jī)技術(shù)領(lǐng)域,具體地說(shuō),涉及一種網(wǎng)絡(luò)連接方法及裝置。
背景技術(shù):
網(wǎng)絡(luò)直播是一種可以通過(guò)網(wǎng)絡(luò)在交流平臺(tái)上觀看直播數(shù)據(jù)的新興技術(shù),用戶可以利用觀看客戶端觀看直播數(shù)據(jù),其中,直播數(shù)據(jù)可以是視頻、音頻和/或文字等多媒體數(shù)據(jù)。在觀看直播數(shù)據(jù)的過(guò)程中,觀看用戶可以通過(guò)觀看客戶端發(fā)送或接受彈幕消息,以增加觀看直播數(shù)據(jù)的趣味性。
為了能夠使用戶及時(shí)發(fā)送或接受彈幕消息,需要保持觀看客戶端與彈幕服務(wù)端的長(zhǎng)連接狀態(tài)?,F(xiàn)有技術(shù)中,觀看客戶端通常以固定頻率向彈幕服務(wù)端發(fā)送探測(cè)消息,若接收到彈幕服務(wù)端的響應(yīng)消息,表明長(zhǎng)連接狀態(tài)正常,否則即判斷二者長(zhǎng)連接斷開(kāi),則重新建立連接。
由于觀看客戶端向彈幕服務(wù)端發(fā)送探測(cè)消息時(shí),頻率是固定的,因此發(fā)送探測(cè)消息的探測(cè)間隔也是固定的。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本申請(qǐng)?zhí)岢隽艘环N網(wǎng)絡(luò)連接方法及裝置,解決了現(xiàn)有技術(shù)中網(wǎng)絡(luò)資源浪費(fèi)、網(wǎng)絡(luò)檢測(cè)不及時(shí)的問(wèn)題。
為了解決上述技術(shù)問(wèn)題,本申請(qǐng)第一方面提供了一種網(wǎng)絡(luò)連接方法,該方法包括:
根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔;
按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息;
確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng);
根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端。
優(yōu)選地,所述方法還包括:
確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的響應(yīng)條件;
所述判斷是否重新連接所述客戶端與所述服務(wù)端包括:
判斷所述響應(yīng)時(shí)長(zhǎng)是否滿足所述響應(yīng)條件;
如果所述響應(yīng)時(shí)長(zhǎng)滿足所述響應(yīng)條件,重新連接所述客戶端與所述服務(wù)端。
優(yōu)選地,所述方法還包括:
確定所述當(dāng)前運(yùn)行狀態(tài)的重連要求;
所述根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端包括:
根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
優(yōu)選地,所述當(dāng)前運(yùn)行狀態(tài)包括:當(dāng)前消息傳輸數(shù)量、網(wǎng)絡(luò)連接類型以及網(wǎng)絡(luò)連接階段;
所述根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定所述探測(cè)間隔為第一時(shí)間間隔;
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定所述探測(cè)間隔為第二時(shí)間間隔;
其中,所述第一時(shí)間間隔小于所述第二時(shí)間間隔,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
優(yōu)選地,所述響應(yīng)條件為所述響應(yīng)時(shí)長(zhǎng)大于響應(yīng)判斷閾值;
所述確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的響應(yīng)條件包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第一判斷閾值;
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第二判斷閾值;
其中,所述第一判斷閾值小于所述第二判斷閾值,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
優(yōu)選地,所述重連要求包括重連次數(shù);
所述確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的重連要求包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第一重連次數(shù);
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第二重連次數(shù);
其中,所述第一重連次數(shù)小于所述第二重連次數(shù),所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
本申請(qǐng)的第二方面提供了一種網(wǎng)絡(luò)連接裝置,該裝置包括一下幾個(gè)模塊:
第一確定模塊,用于根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔;
消息發(fā)送模塊,用于按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息;
第二確定模塊,用于確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng);
連接判斷模塊,用于根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端。
優(yōu)選地,所述裝置還包括:
第三確定模塊,用于確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的響應(yīng)條件;
所述連接判斷模塊包括:
第一連接單元,用于如果所述響應(yīng)時(shí)長(zhǎng)滿足所述響應(yīng)條件,重新連接所述客戶端與所述服務(wù)端。
優(yōu)選地,所述裝置還包括:
第四確定模塊,用于確定所述當(dāng)前運(yùn)行狀態(tài)的重連要求;
所述連接判斷模塊包括:
第一判斷單元,用于判斷所述響應(yīng)時(shí)長(zhǎng)是否滿足所述響應(yīng)條件;
第二連接單元,用于根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
優(yōu)選地,所述當(dāng)前運(yùn)行狀態(tài)包括:當(dāng)前消息傳輸數(shù)量、網(wǎng)絡(luò)連接類型以及網(wǎng)絡(luò)連接階段;
所述第一確定模塊包括:
第一確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定所述探測(cè)間隔為第一時(shí)間間隔;
第二確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定所述探測(cè)間隔為第二時(shí)間間隔;
其中,所述第一時(shí)間間隔小于所述第二時(shí)間間隔,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
優(yōu)選地,所述響應(yīng)條件為響應(yīng)時(shí)長(zhǎng)大于響應(yīng)判斷閾值;
所述第三確定模塊包括:
第三確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第一判斷閾值;
第四確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第二判斷閾值;
其中,所述第一判斷閾值小于所述第二判斷閾值,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
優(yōu)選地,所述重連要求包括重連次數(shù);
所述第四確定模塊包括:
第五確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第一重連次數(shù);
第六確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第二重連次數(shù);
其中,所述第一重連次數(shù)小于所述第二重連次數(shù),所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
本申請(qǐng)實(shí)施例中,根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔,當(dāng)前運(yùn)行狀態(tài)不同時(shí),所述探測(cè)間隔不同,進(jìn)而可以根據(jù)網(wǎng)絡(luò)連接狀態(tài)實(shí)時(shí)確定探測(cè)間隔,以按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息,在接收到響應(yīng)消息時(shí),根據(jù)所述響應(yīng)時(shí)長(zhǎng)即判斷是否重新連接所述客戶端與所述服務(wù)端。所述探測(cè)間隔可以結(jié)合當(dāng)前運(yùn)行狀態(tài)而動(dòng)態(tài)變化,在保證網(wǎng)絡(luò)資源不浪費(fèi)的同時(shí),提高了網(wǎng)絡(luò)連接檢測(cè)的及時(shí)性,確保了客戶端與服務(wù)端之間消息通訊的及時(shí)性,使二者的連接狀態(tài)更穩(wěn)定。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
圖1是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)連接方法的一個(gè)實(shí)施例的流程圖;
圖2是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)連接方法的又一個(gè)實(shí)施例的流程圖;
圖3是本申請(qǐng)實(shí)施例的一種網(wǎng)絡(luò)連接裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
以下將配合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)的實(shí)施方式,藉此對(duì)本申請(qǐng)如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題并達(dá)成技術(shù)功效的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。
本發(fā)明實(shí)施例主要應(yīng)用于通過(guò)建立網(wǎng)絡(luò)長(zhǎng)連接以傳輸消息的網(wǎng)絡(luò)通信系統(tǒng)中,例如,傳輸彈幕消息的網(wǎng)絡(luò)直播系統(tǒng)。
以網(wǎng)絡(luò)直播系統(tǒng)為例,在網(wǎng)絡(luò)直播過(guò)程中,觀看客戶端可以接收或者發(fā)送彈幕消息,以提高網(wǎng)絡(luò)直播的趣味性,目前的一種彈幕承載方式主要是,為彈幕消息設(shè)置彈幕服務(wù)端,觀看用戶發(fā)送的彈幕消息可以保存至彈幕服務(wù)端,彈幕服務(wù)端中的彈幕消息也可以發(fā)送至觀看客戶端進(jìn)行播放。為了使觀看客戶端與彈幕服務(wù)端能夠進(jìn)行通訊,需要保持觀看客戶端與彈幕服務(wù)端之間的長(zhǎng)連接狀態(tài)。
觀看客戶端為了確定是否與彈幕服務(wù)端保持長(zhǎng)連接狀態(tài),會(huì)以固定頻率定時(shí)向彈幕服務(wù)端發(fā)送探測(cè)消息,以確定觀看客戶端是否與彈幕服務(wù)端的長(zhǎng)連接是否斷開(kāi)。但是,發(fā)明人在研究過(guò)程中發(fā)現(xiàn),當(dāng)彈幕消息傳輸量過(guò)多或者網(wǎng)絡(luò)連接狀況較差時(shí),可能會(huì)造成在一個(gè)探測(cè)間隔內(nèi)連接斷開(kāi),彈幕消息傳輸受到影響;而在彈幕消息傳輸量較小或者網(wǎng)絡(luò)連接狀態(tài)較好,固定頻率可能相對(duì)較高,導(dǎo)致探測(cè)消息頻繁發(fā)送,占用較多網(wǎng)絡(luò)資源,造成網(wǎng)絡(luò)擁堵。
發(fā)明人經(jīng)過(guò)進(jìn)一步研究發(fā)現(xiàn),客戶端的運(yùn)行狀態(tài)可以影響彈幕消息的傳輸質(zhì)量,例如,當(dāng)客戶端較為繁忙時(shí),需要高質(zhì)量的連接狀態(tài),當(dāng)客戶端的消息傳輸較少時(shí),需要一般質(zhì)量的連接狀態(tài)即可,據(jù)此提出了本申請(qǐng)的技術(shù)方案。在本發(fā)明實(shí)施例中,根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔,以按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息,確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng),根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端。所述探測(cè)間隔隨著所述當(dāng)前運(yùn)行狀態(tài)實(shí)時(shí)發(fā)生變化,以保障能夠及時(shí)獲知客戶端與服務(wù)端的連接情況,確保在連接斷開(kāi)時(shí)能夠及時(shí)重連,以保障消息傳輸?shù)目煽啃?,同時(shí),還可以避免占用較多網(wǎng)絡(luò)資源,導(dǎo)致網(wǎng)絡(luò)資源浪費(fèi)造成的網(wǎng)絡(luò)資源浪費(fèi)。
下面將結(jié)合附圖對(duì)本申請(qǐng)的技術(shù)方案進(jìn)行詳細(xì)描述。
圖1為本申請(qǐng)實(shí)施例提供的一種網(wǎng)絡(luò)連接方法的一個(gè)實(shí)施例流程圖,該方法可以包括以下幾個(gè)步驟:
101:根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔。
其中,不同的當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)不同的探測(cè)間隔。
可選地,所述客戶端是指能夠發(fā)送探測(cè)消息的客戶端,不同的客戶端使用的系統(tǒng)平臺(tái)可以不同,例如,所述客戶端可以使用安卓系統(tǒng)提供的平臺(tái)、可以使用ios系統(tǒng)提供的平臺(tái)還可以使用windows系統(tǒng)提供的平臺(tái)。服務(wù)端與客戶端可以使用不同的平臺(tái),因此,本申請(qǐng)實(shí)施例中,服務(wù)端與客戶端可以跨平臺(tái),在進(jìn)行消息探測(cè)時(shí),不限定所述客戶端與所述服務(wù)端所使用的軟件系統(tǒng)的平臺(tái)類型。
102:按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息。
可選地,所述探測(cè)消息可以是指客戶端發(fā)送的探測(cè)信號(hào),探測(cè)信號(hào)在發(fā)送后,服務(wù)端可以響應(yīng)所述探測(cè)信號(hào),并產(chǎn)生一個(gè)響應(yīng)信號(hào)發(fā)送至客戶端,以使客戶端可以接收所述服務(wù)端發(fā)送的響應(yīng)消息。
作為一種可能的實(shí)現(xiàn)方式,所述按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息可以包括:按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)信息,并接收服務(wù)端發(fā)送的響應(yīng)消息。
所述按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息之后,所述方法還可以包括:判斷是否接收到服務(wù)端發(fā)送的響應(yīng)消息;
如果是,則執(zhí)行步驟103;
如果否,則按照所述探測(cè)間隔繼續(xù)向服務(wù)端發(fā)送探測(cè)消息。
所述按照所述探測(cè)間隔繼續(xù)向服務(wù)端發(fā)送探測(cè)消息時(shí),可以統(tǒng)計(jì)所述探測(cè)消息的發(fā)送次數(shù)。
103:確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng)。
所述探測(cè)消息被發(fā)送到服務(wù)端后,如果長(zhǎng)連接處于正常狀態(tài),客戶端可以接收服務(wù)端發(fā)送的響應(yīng)消息,所述響應(yīng)時(shí)長(zhǎng)可以是指所述探測(cè)消息發(fā)送之后開(kāi)始計(jì)時(shí),至接收到服務(wù)端的回復(fù)消息時(shí)的時(shí)間間隔。
104:根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端。
客戶端與服務(wù)端處于長(zhǎng)連接狀態(tài)時(shí),客戶端可以接收到服務(wù)端的響應(yīng)消息,這時(shí),所述響應(yīng)時(shí)長(zhǎng)較??;客戶端與服務(wù)端連接斷開(kāi)時(shí),客戶端不能接收服務(wù)端的響應(yīng)消息,這時(shí),響應(yīng)時(shí)長(zhǎng)較長(zhǎng)甚至接收不到響應(yīng)消息,則可以確定客戶端與服務(wù)端的長(zhǎng)連接斷開(kāi)。
作為一個(gè)實(shí)施例,所述根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端可以包括:
判斷所述響應(yīng)時(shí)長(zhǎng)是否滿足響應(yīng)條件;
如果所述響應(yīng)時(shí)長(zhǎng)滿足所述響應(yīng)條件時(shí),重新連接所述客戶端與所述服務(wù)端。
可選地,所述響應(yīng)條件可以是所述響應(yīng)時(shí)長(zhǎng)大于響應(yīng)判斷閾值。
所述響應(yīng)判斷閾值可以是預(yù)先設(shè)置的固定判斷閾值,例如,可以將所述響應(yīng)判斷閾值預(yù)先設(shè)置為5s(秒)。
作為又一個(gè)實(shí)施例,所述根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端可以包括:
根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
根據(jù)響應(yīng)時(shí)長(zhǎng)確定需要重新連接客戶端與服務(wù)端時(shí),可以按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
可選地,所述重連要求可以包括重連次數(shù),由于一次重新連接可能無(wú)法連接成功,可以進(jìn)行多次重連。因此,可以預(yù)先設(shè)置重連次數(shù),該重連次數(shù)可以是固定次數(shù),適用于限制重接操作的次數(shù),當(dāng)然為了進(jìn)一步保證檢測(cè)及時(shí)性以及避免網(wǎng)絡(luò)資源浪費(fèi),也可以結(jié)合當(dāng)前運(yùn)行狀態(tài)進(jìn)行動(dòng)態(tài)設(shè)置。
因此,根據(jù)響應(yīng)時(shí)長(zhǎng)確定需要重新連接客戶端與服務(wù)端時(shí),可以按照所述重連次數(shù),進(jìn)行重新連接。
其中,若按照該重連次數(shù)重新連接所述客戶端與所述服務(wù)端時(shí),如果在第n次重新連接時(shí),即連接成功,可以結(jié)束重連流程。其中n=1、2、……、m,m即為重連次數(shù)。
本發(fā)明實(shí)施例中,通過(guò)當(dāng)前運(yùn)行狀態(tài)實(shí)時(shí)確定對(duì)應(yīng)的探測(cè)間隔,并根據(jù)所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息,以確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng),從而根據(jù)所述響應(yīng)時(shí)長(zhǎng)判斷客戶端與所述服務(wù)端的連接狀態(tài),在連接失敗時(shí),重新連接客戶端與服務(wù)端,進(jìn)而保障了二者連接的穩(wěn)定性,提高所述彈幕消息的傳輸效果。
作為一種可能的實(shí)現(xiàn)方式,所述當(dāng)前運(yùn)行狀態(tài)可以包括:消息傳輸數(shù)量、網(wǎng)絡(luò)連接類型以及網(wǎng)絡(luò)連接階段。
所述消息傳輸數(shù)量為當(dāng)前時(shí)刻消息的傳輸數(shù)量的大小,可選地,所述消息可以是指彈幕消息。所述網(wǎng)絡(luò)傳輸數(shù)量較大時(shí),網(wǎng)絡(luò)負(fù)載較重,網(wǎng)絡(luò)連接也容易斷開(kāi),因此,發(fā)送探測(cè)消息的探測(cè)間隔可以較小,以確??蛻舳伺c服務(wù)端處于質(zhì)量較高的長(zhǎng)連接狀態(tài);所述網(wǎng)絡(luò)傳輸數(shù)量較小時(shí),對(duì)網(wǎng)絡(luò)要求較低,網(wǎng)絡(luò)負(fù)載也較低,網(wǎng)絡(luò)連接相對(duì)穩(wěn)定,因此發(fā)送探測(cè)消息的探測(cè)間隔可以較大。因此,可以設(shè)置不同的消息傳輸數(shù)量閾值??蛇x地,所述傳輸數(shù)量閾值可以包括第一數(shù)量閾值、第二數(shù)量閾值。所述第一數(shù)量閾值大于等于所述第二數(shù)量閾值。
所述網(wǎng)絡(luò)連接類型是指當(dāng)前客戶端所連接的網(wǎng)絡(luò)種類,所述網(wǎng)絡(luò)連接類型可以是無(wú)線網(wǎng)絡(luò),有線網(wǎng)絡(luò),還可以是移動(dòng)蜂窩網(wǎng)絡(luò),3g網(wǎng)絡(luò),4g網(wǎng)絡(luò)??蛇x地,所述網(wǎng)絡(luò)連接類型可以按照網(wǎng)絡(luò)原理的不同設(shè)置為第一網(wǎng)絡(luò)連接類型以及第二網(wǎng)絡(luò)連接類型。其中,第一網(wǎng)絡(luò)連接類型的網(wǎng)絡(luò)運(yùn)行狀況優(yōu)于第二網(wǎng)絡(luò)連接類型的網(wǎng)絡(luò)運(yùn)行狀況。
第一網(wǎng)絡(luò)連接類型可以包括:無(wú)線網(wǎng)絡(luò)或者有線網(wǎng)絡(luò),所述第一網(wǎng)絡(luò)連接類型的網(wǎng)絡(luò)運(yùn)行狀況較好、無(wú)數(shù)據(jù)流量限制、數(shù)據(jù)傳輸速度較高,因此,可以將發(fā)送探測(cè)消息的探測(cè)間隔設(shè)置較短,以在保證不影響網(wǎng)絡(luò)負(fù)載的同時(shí),保障連接的穩(wěn)定性;第二網(wǎng)絡(luò)連接類型可以包括:移動(dòng)蜂窩網(wǎng)絡(luò)、3g網(wǎng)絡(luò)或者4g網(wǎng)絡(luò),所述第二網(wǎng)絡(luò)連接類型中,使用數(shù)據(jù)流量進(jìn)行計(jì)費(fèi)并且數(shù)據(jù)傳輸速度較低,可以將發(fā)送探測(cè)消息的探測(cè)時(shí)間設(shè)置較長(zhǎng),使得既不影響網(wǎng)絡(luò)負(fù)載,且可以節(jié)約用戶資費(fèi)。
其中,客戶端與服務(wù)端建立長(zhǎng)連接的過(guò)程可以包括:客戶端向服務(wù)端發(fā)送建立連接請(qǐng)求,服務(wù)端對(duì)客戶端進(jìn)行驗(yàn)證;驗(yàn)證通過(guò)之后,服務(wù)端即建立與客戶端的長(zhǎng)連接。
所述網(wǎng)絡(luò)連接階段可以是指客戶端與所述服務(wù)端建立連接時(shí)的不同階段。可選地,所述不同的連接階段至少可以包括第一連接階段、第二連接階段,所述第一連接階段可以是指客戶端向服務(wù)端建立連接請(qǐng)求時(shí)以及服務(wù)端對(duì)客戶端進(jìn)行驗(yàn)證的階段。所述第二連接階段可以是客戶端與服務(wù)端處于長(zhǎng)連接狀態(tài)。
作為一個(gè)實(shí)施例,所述根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔可以包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述當(dāng)前網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定所述消息探測(cè)間隔為第一時(shí)間間隔;
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述當(dāng)前網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定所述消息探測(cè)間隔為第二時(shí)間間隔;
其中,所述第一時(shí)間間隔小于所述第二時(shí)間間隔,所述第一數(shù)量閾值小于或等于所述第二數(shù)量閾值。
所述第一時(shí)間間隔以及所述第二時(shí)間間隔均是由當(dāng)前運(yùn)行狀態(tài)獲取的,在當(dāng)前運(yùn)行狀態(tài)不同時(shí),所述第一時(shí)間間隔以及所述第二時(shí)間間隔不同。
不同的消息傳輸數(shù)量,對(duì)當(dāng)前網(wǎng)絡(luò)運(yùn)行狀態(tài)的要求不同。當(dāng)前消息數(shù)量較大時(shí),對(duì)所述當(dāng)前網(wǎng)絡(luò)運(yùn)行狀態(tài)要求較高,可以確保消息的及時(shí)傳輸,因此,可以在所述第一數(shù)量閾值較大時(shí),所述第一時(shí)間間隔可以較小。當(dāng)前消息數(shù)量較小時(shí),對(duì)當(dāng)前網(wǎng)絡(luò)的運(yùn)行狀態(tài)要求不高,因此,所述第二數(shù)量閾值較小時(shí),所述第二時(shí)間間隔可以較大。
本發(fā)明實(shí)施例中,當(dāng)前運(yùn)行狀態(tài)可以包括不同的內(nèi)容,在確定探測(cè)間隔時(shí)可以按照不同的運(yùn)行狀態(tài)的內(nèi)容進(jìn)行確定,從而可以使所述探測(cè)間隔的準(zhǔn)確度更高。
發(fā)明人經(jīng)進(jìn)一步研究發(fā)現(xiàn),響應(yīng)判斷閾值如果是固定的,當(dāng)需要進(jìn)行及時(shí)的連接判斷時(shí),響應(yīng)判斷閾值相對(duì)較大,可能造成連接判斷的不準(zhǔn)確;當(dāng)不需要進(jìn)行及時(shí)的消息判斷時(shí),響應(yīng)判斷閾值相對(duì)較小,會(huì)導(dǎo)致誤判,在長(zhǎng)連接未斷開(kāi)的情況下,即會(huì)重新連接客戶端與所述服務(wù)端,導(dǎo)致浪費(fèi)系統(tǒng)資源。
因此,在某些實(shí)施例中,為了使響應(yīng)時(shí)長(zhǎng)的判斷更合理,更符合用戶要求,所述方法還可以包括:
確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的響應(yīng)條件。
則所述根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端可以包括:
判斷所述響應(yīng)時(shí)長(zhǎng)是否滿足所述響應(yīng)條件;
如果所述響應(yīng)時(shí)長(zhǎng)滿足所述響應(yīng)條件,重新連接所述客戶端與所述服務(wù)端。
所述響應(yīng)條件是根據(jù)當(dāng)前運(yùn)行狀態(tài)而確定的,隨著當(dāng)前運(yùn)行狀態(tài)的變化而變化,當(dāng)前運(yùn)行狀態(tài)不同時(shí),所對(duì)應(yīng)的響應(yīng)條件不同。
作為一種可能的實(shí)現(xiàn)方式,所述響應(yīng)條件可以是指所述響應(yīng)時(shí)長(zhǎng)大于響應(yīng)判斷閾值。
所述響應(yīng)判斷閾值是指用于判斷在規(guī)定時(shí)間內(nèi)是否接收到響應(yīng)消息的時(shí)間閾值,由于所述響應(yīng)條件是根據(jù)當(dāng)前運(yùn)行狀態(tài)而確定的,因此所述響應(yīng)判斷閾值可以是根據(jù)所述當(dāng)前運(yùn)行狀態(tài)而確定的。所述當(dāng)前運(yùn)行狀態(tài)可以包括:消息傳輸數(shù)量、網(wǎng)絡(luò)連接類型以及網(wǎng)絡(luò)連接階段。
因此,所述確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的響應(yīng)條件可以包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第一判斷閾值;
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第二判斷閾值;
其中,所述第一判斷閾值小于所述第二判斷閾值,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
所述響應(yīng)判斷閾值為第一判斷閾值,且判斷所述響應(yīng)時(shí)長(zhǎng)大于所述第一判斷閾值時(shí),重新連接所述客戶端與所述服務(wù)端。
所述響應(yīng)判斷閾值為第二判斷閾值,且判斷所述響應(yīng)時(shí)長(zhǎng)大于所述第二判斷閾值時(shí),重新連接所述客戶端與所述服務(wù)端。
所述第一判斷閾值與所述第二判斷閾值是根據(jù)所述網(wǎng)絡(luò)的運(yùn)行狀況確定的,不同的網(wǎng)絡(luò)運(yùn)行狀況第一判斷閾值與所述第二判斷閾值的具體值不同,也即所述第一判斷閾值與所述第二判斷閾值是隨著所述網(wǎng)絡(luò)運(yùn)行狀況而發(fā)生變化的。
本發(fā)明實(shí)施例中,通過(guò)網(wǎng)絡(luò)運(yùn)行狀態(tài)動(dòng)態(tài)設(shè)置所述第一判斷閾值以及第二判斷閾值,進(jìn)而通過(guò)第一判斷閾值以及第二判斷閾值來(lái)確定是否確定連接所述客戶端與所述服務(wù)端,使得所述長(zhǎng)連接判斷的消息更加符合當(dāng)前運(yùn)行狀態(tài)的要求,減少錯(cuò)誤判斷,提高系統(tǒng)的穩(wěn)定性。
發(fā)明人經(jīng)進(jìn)一步研究發(fā)現(xiàn),重連次數(shù)如果是固定的,當(dāng)需要進(jìn)行及時(shí)的連接判斷時(shí),重連次數(shù)較大時(shí),可能造成連接判斷不夠準(zhǔn)確;重連次數(shù)較小時(shí),會(huì)導(dǎo)致在長(zhǎng)連接未斷開(kāi)的情況下,即會(huì)進(jìn)行無(wú)意義的重連,造成浪費(fèi)系統(tǒng)資源。
因此,在某些實(shí)施例中,為了使重連次數(shù)更精確,更符合網(wǎng)絡(luò)狀態(tài)要求,所述方法還可以包括:
確定當(dāng)前運(yùn)行狀態(tài)的重連要求;
所述根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端可以包括:
根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
根據(jù)所述響應(yīng)時(shí)長(zhǎng),如果確定需要重新連接所述客戶端與所述服務(wù)端,即按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
所述重連要求是根據(jù)當(dāng)前運(yùn)行狀態(tài)而確定的,隨著當(dāng)前運(yùn)行狀態(tài)的改變而改變,當(dāng)前運(yùn)行狀態(tài)不同時(shí),對(duì)應(yīng)的重連要求不同。
作為一種可能的實(shí)現(xiàn)方式,所述重連要求可以包括重連次數(shù)。
所述重連次數(shù)是指所述客戶端在未接收到所述服務(wù)端發(fā)送的響應(yīng)消息時(shí),向所述服務(wù)端發(fā)送重連請(qǐng)求的次數(shù)。由于所述重連要求是根據(jù)當(dāng)前運(yùn)行狀態(tài)而確定的,因此所述重連次數(shù)也可以根據(jù)當(dāng)前運(yùn)行狀態(tài)而確定。所述當(dāng)前運(yùn)行狀態(tài)可以包括:消息傳輸數(shù)量、網(wǎng)絡(luò)連接類型以及網(wǎng)絡(luò)連接階段。
所述確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的重連要求可以包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一類型或者所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第一重連次數(shù);
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二類型或者所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第二重連次數(shù);
其中,所述第一重連次數(shù)小于所述第二重連次數(shù),所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
所述重連次數(shù)為第一重連次數(shù)時(shí),根據(jù)所述第一重連次數(shù)重新連接所述客戶端與所述服務(wù)端。
所述重連次數(shù)為第二重連次數(shù)時(shí),根據(jù)所述第二重連次數(shù)重新連接所述客戶端與所述服務(wù)端。
本發(fā)明實(shí)施例中,通過(guò)網(wǎng)絡(luò)運(yùn)行狀態(tài)確定的重連次數(shù)更加符合網(wǎng)絡(luò)的運(yùn)行狀態(tài),進(jìn)而可以根據(jù)所述重連次數(shù)來(lái)精確確定是否重新連接所述客戶端與所述服務(wù)端,提高了所述客戶端與所述服務(wù)端之間的長(zhǎng)連接的穩(wěn)定性。
圖2為本申請(qǐng)實(shí)施例提供的一種網(wǎng)絡(luò)連接方法的又一個(gè)實(shí)施例的流程圖,該方法可以包括以下幾個(gè)步驟:
201:根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔、響應(yīng)條件以及重連要求。
其中,所述當(dāng)前運(yùn)行狀態(tài)可以包括當(dāng)前消息傳輸數(shù)量、網(wǎng)絡(luò)連接類型以及網(wǎng)絡(luò)連接階段;
可選地,所述根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔;
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定所述探測(cè)間隔為第一時(shí)間間隔;
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定所述探測(cè)間隔為第二時(shí)間間隔;
其中,所述第一時(shí)間間隔小于所述第二時(shí)間間隔,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
其中,所述響應(yīng)條件為響應(yīng)時(shí)長(zhǎng)大于響應(yīng)判斷閾值,所述重連要求可以包括重連次數(shù)。
可選地,所述確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的響應(yīng)條件可以包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第一判斷閾值;
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第二判斷閾值;
其中,所述第一判斷閾值小于所述第二判斷閾值,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
可選地,所述確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的重連要求可以包括:
如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第一重連次數(shù);
如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第二重連次數(shù);
其中,所述第一重連次數(shù)小于所述第二重連次數(shù),所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
202:按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息。
203:確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng)。
204:判斷所述響應(yīng)時(shí)長(zhǎng)是否滿足所述響應(yīng)條件,如果是,執(zhí)行步驟205,如果否,返回步驟203繼續(xù)執(zhí)行。
205:按照所述重連要求,重新連接所述客戶端與所述服務(wù)端。
本發(fā)明實(shí)施例中,通過(guò)當(dāng)前運(yùn)行狀態(tài)確定探測(cè)間隔、響應(yīng)條件以及重連要求,并根據(jù)所述響應(yīng)條件以及重連要求判斷是否重新連接所述客戶端與所述服務(wù)端,在保證資源利用充分的同時(shí),提高了網(wǎng)絡(luò)連接檢測(cè)的及時(shí)性,確保了客戶端與服務(wù)端之間網(wǎng)絡(luò)連接的穩(wěn)定性。
圖3為本申請(qǐng)實(shí)施例提供的一種網(wǎng)絡(luò)連接裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,該裝置可以包括以下幾個(gè)模塊:
第一確定模塊301,用于根據(jù)客戶端的當(dāng)前運(yùn)行狀態(tài),確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的探測(cè)間隔。
其中,不同的當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)不同的探測(cè)間隔。
可選地,所述客戶端是指能夠發(fā)送探測(cè)消息的客戶端,不同的客戶端使用的系統(tǒng)平臺(tái)可以不同,例如,所述客戶端可以使用安卓系統(tǒng)提供的平臺(tái)、可以使用ios系統(tǒng)提供的平臺(tái)還可以使用windows系統(tǒng)提供的平臺(tái)。服務(wù)端與客戶端可以使用不同的平臺(tái),因此,本申請(qǐng)實(shí)施例中,服務(wù)端與客戶端可以跨平臺(tái),在進(jìn)行消息探測(cè)時(shí),不限定所述客戶端與所述服務(wù)端所使用的軟件系統(tǒng)的平臺(tái)類型。
消息發(fā)送模塊302,用于按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息。
可選地,所述探測(cè)消息可以是指客戶端器發(fā)送的探測(cè)信號(hào),探測(cè)信號(hào)在發(fā)送后,服務(wù)端可以響應(yīng)所述探測(cè)信號(hào),并產(chǎn)生一個(gè)響應(yīng)信號(hào)發(fā)送至客戶端,以使客戶端可以接收所述服務(wù)端發(fā)送的響應(yīng)消息。
作為一種可能的實(shí)現(xiàn)方式,所述消息發(fā)送模塊具體可以用于:按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)信息,并接收服務(wù)端發(fā)送的響應(yīng)消息。
所述按照所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息之后,所述消息發(fā)送模塊具體還可以用于:判斷是否接收到服務(wù)端發(fā)送的響應(yīng)消息;
如果否,則按照所述探測(cè)間隔繼續(xù)向服務(wù)端發(fā)送探測(cè)消息。
所述按照所述探測(cè)間隔繼續(xù)向服務(wù)端發(fā)送探測(cè)消息時(shí),可以統(tǒng)計(jì)所述探測(cè)消息的發(fā)送次數(shù)。
第二確定模塊303,用于確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng);
所述探測(cè)消息被發(fā)送到服務(wù)端后,如果長(zhǎng)連接狀態(tài)正常,客戶端可以接收到服務(wù)端發(fā)送的響應(yīng)消息,所述響應(yīng)時(shí)長(zhǎng)可以是指所述探測(cè)消息發(fā)送之后開(kāi)始計(jì)時(shí),至接收到服務(wù)端的回復(fù)消息時(shí)的時(shí)間間隔。
作為一種可能的實(shí)現(xiàn)方式,所述響應(yīng)時(shí)長(zhǎng)可以通過(guò)記錄所述探測(cè)消息的發(fā)送時(shí)間,以及所述響應(yīng)消息的接收時(shí)間,并計(jì)算二者之間的時(shí)間差獲得。
連接判斷模塊304,用于根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否重新連接所述客戶端與所述服務(wù)端。
客戶端與服務(wù)端處于長(zhǎng)連接狀態(tài)時(shí),客戶端可以接收到服務(wù)端的響應(yīng)消息,這時(shí),所述響應(yīng)時(shí)長(zhǎng)較小;客戶端與服務(wù)端連接斷開(kāi)時(shí),客戶端不能接收服務(wù)端的響應(yīng)消息,這時(shí),響應(yīng)時(shí)長(zhǎng)較長(zhǎng)甚至接收不到響應(yīng)消息,則可以確定客戶端與服務(wù)端的長(zhǎng)連接斷開(kāi)。
作為一個(gè)實(shí)施例,則所述連接判斷模塊具體可以用于:判斷所述響應(yīng)時(shí)長(zhǎng)是否滿足響應(yīng)條件;如果所述響應(yīng)時(shí)長(zhǎng)滿足所述響應(yīng)條件,重新連接所述客戶端與所述服務(wù)端。
可選地,所述響應(yīng)條件可以是所述響應(yīng)時(shí)長(zhǎng)大于響應(yīng)判斷閾值。
所述響應(yīng)判斷閾值可以是預(yù)先設(shè)置的固定判斷閾值,例如,可以將所述響應(yīng)判斷閾值預(yù)先設(shè)置為5s(秒)。
作為又一個(gè)實(shí)施例,所述連接判斷模塊具體可以用于:根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
也即根據(jù)響應(yīng)時(shí)長(zhǎng)確定需要重新連接客戶端與服務(wù)端時(shí),可以按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
可選地,所述重連要求可以包括重連次數(shù),由于一次重新連接可能無(wú)法連接成功,可以進(jìn)行多次重連嘗試。因此可以預(yù)先設(shè)置重連次數(shù),該重連次數(shù)可以是固定次數(shù),適用于指示全部重新連接操作。當(dāng)然為了進(jìn)一步保證檢測(cè)及時(shí)性以及避免網(wǎng)絡(luò)資源浪費(fèi),可以結(jié)合當(dāng)前運(yùn)行狀態(tài)動(dòng)態(tài)設(shè)置。
因此可以是根據(jù)響應(yīng)時(shí)長(zhǎng)確定需要重新連接客戶端與服務(wù)端時(shí),可以按照所述重連次數(shù),進(jìn)行重新連接。
其中,若按照該從重連次數(shù)重新連接所述客戶端與所述服務(wù)端時(shí),如果在第n次重新連接時(shí),即連接成功,即可以結(jié)束重新連接流程。其中,n=1、2、…m,m即為重連次數(shù)。
本發(fā)明實(shí)施例中,通過(guò)當(dāng)前運(yùn)行狀態(tài)實(shí)時(shí)確定對(duì)應(yīng)的探測(cè)間隔,并根據(jù)所述探測(cè)間隔向服務(wù)端發(fā)送探測(cè)消息,以確定所述探測(cè)消息的響應(yīng)時(shí)長(zhǎng),從而根據(jù)所述響應(yīng)時(shí)長(zhǎng)判斷客戶端與所述服務(wù)端的連接狀態(tài),在連接失敗時(shí),重新連接客戶端與服務(wù)端,進(jìn)而保障了二者連接的穩(wěn)定性,提高所述彈幕消息的傳輸效果。
作為一種可能的實(shí)現(xiàn)方式,所述當(dāng)前運(yùn)行狀態(tài)可以包括:消息傳輸數(shù)量、網(wǎng)絡(luò)連接類型以及網(wǎng)絡(luò)連接階段。
所述消息傳輸數(shù)量可以為當(dāng)前時(shí)刻消息的傳輸數(shù)量的大小。
可選地,所述消息可以是指彈幕消息??梢栽O(shè)置不同的消息傳輸數(shù)量閾值,可選地,所述傳輸數(shù)量閾值可以包括第一數(shù)量閾值、第二數(shù)量閾值。所述第一數(shù)量閾值大于所述第二數(shù)量閾值。
所述網(wǎng)絡(luò)連接類型是指當(dāng)前客戶端所連接的網(wǎng)絡(luò)種類,所述網(wǎng)絡(luò)連接類型可以按照網(wǎng)絡(luò)原理的不同設(shè)置為第一網(wǎng)絡(luò)連接類型以及第二網(wǎng)絡(luò)連接類型。其中,第一網(wǎng)絡(luò)連接類型的網(wǎng)絡(luò)運(yùn)行狀況優(yōu)于第二網(wǎng)絡(luò)連接類型的網(wǎng)絡(luò)運(yùn)行狀況。
其中,客戶端與服務(wù)端建立長(zhǎng)連接的過(guò)程可以包括:客戶端向服務(wù)端發(fā)送建立連接請(qǐng)求,服務(wù)端對(duì)客戶端進(jìn)行驗(yàn)證;驗(yàn)證通過(guò)之后,服務(wù)端即建立與客戶端的長(zhǎng)連接。
所述網(wǎng)絡(luò)連接階段可以是指客戶端與所述服務(wù)端建立連接時(shí)的不同階段。可選地,所述不同的連接階段至少可以包括第一連接階段、第二連接階段,所述第一連接階段可以是指客戶端向服務(wù)端建立連接請(qǐng)求時(shí)以及服務(wù)端對(duì)客戶端進(jìn)行驗(yàn)證的階段。所述第二連接階段可以是客戶端與服務(wù)端處于長(zhǎng)連接狀態(tài)。
作為一個(gè)實(shí)施例,所述第一確定模塊可以包括:
第一確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定所述探測(cè)間隔為第一時(shí)間間隔;
第二確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定所述探測(cè)間隔為第二時(shí)間間隔;
其中,所述第一時(shí)間間隔小于所述第二時(shí)間間隔,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
所述第一時(shí)間間隔以及所述第二時(shí)間間隔均是由當(dāng)前運(yùn)行狀態(tài)獲取的,在當(dāng)前運(yùn)行狀態(tài)不同時(shí),所述第一時(shí)間間隔以及所述第二時(shí)間間隔不同。
本發(fā)明實(shí)施例中,當(dāng)前運(yùn)行狀態(tài)可以包括不同的內(nèi)容,在確定探測(cè)間隔時(shí)可以按照不同的運(yùn)行狀態(tài)的內(nèi)容進(jìn)行確定,從而可以使所述探測(cè)間隔的準(zhǔn)確度更高。
發(fā)明人經(jīng)進(jìn)一步研究發(fā)現(xiàn),響應(yīng)判斷閾值如果是固定的,當(dāng)需要進(jìn)行及時(shí)的連接判斷時(shí),響應(yīng)判斷閾值相對(duì)較大,可能造成連接判斷的不準(zhǔn)確;當(dāng)不需要進(jìn)行及時(shí)的消息判斷時(shí),響應(yīng)判斷閾值相對(duì)較小,會(huì)導(dǎo)致誤判,在長(zhǎng)連接未斷開(kāi)的情況下,即會(huì)重新連接客戶端與所述服務(wù)端,導(dǎo)致浪費(fèi)系統(tǒng)資源。
因此,在某些實(shí)施例中,為了使響應(yīng)時(shí)長(zhǎng)的判斷更合理,更符合用戶要求,所述裝置還可以包括:
第三確定模塊,用于確定所述當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的響應(yīng)條件;
所述連接判斷模塊可以包括:
第一判斷模塊,用于判斷所述響應(yīng)時(shí)長(zhǎng)是否滿足所述響應(yīng)條件;
第一連接單元,用于如果所述響應(yīng)時(shí)長(zhǎng)滿足所述響應(yīng)條件,重新連接所述客戶端與所述服務(wù)端。
作為一種可能的實(shí)現(xiàn)方式,所述響應(yīng)條件可以是指所述響應(yīng)時(shí)長(zhǎng)大于響應(yīng)判斷閾值。
所述第三確定模塊可以包括:
第三確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第一判斷閾值;
第四確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的響應(yīng)條件中所述響應(yīng)判斷閾值為第二判斷閾值;
其中,所述第一判斷閾值小于所述第二判斷閾值,所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
則所述連接判斷模塊具體可以用于:
所述響應(yīng)判斷閾值為第一判斷閾值,且判斷所述響應(yīng)時(shí)長(zhǎng)大于所述第一判斷閾值時(shí),重新連接所述客戶端與所述服務(wù)端。
所述連接判斷模塊具體還可以用于:
所述響應(yīng)判斷閾值為第二判斷閾值,且判斷所述響應(yīng)時(shí)長(zhǎng)大于所述第二判斷閾值時(shí),重新連接所述客戶端與所述服務(wù)端。
本發(fā)明實(shí)施例中,通過(guò)網(wǎng)絡(luò)運(yùn)行狀態(tài)動(dòng)態(tài)設(shè)置所述第一判斷閾值以及第二判斷閾值,進(jìn)而通過(guò)第一判斷閾值以及第二判斷閾值來(lái)確定是否確定連接所述客戶端與所述服務(wù)端,使得所述長(zhǎng)連接判斷的消息更加符合當(dāng)前運(yùn)行狀態(tài)的要求,減少錯(cuò)誤判斷,提高系統(tǒng)的穩(wěn)定性。
發(fā)明人經(jīng)進(jìn)一步研究發(fā)現(xiàn),重連次數(shù)如果是固定的,當(dāng)需要進(jìn)行及時(shí)的連接判斷時(shí),重連次數(shù)較大時(shí),可能造成連接判斷不夠準(zhǔn)確;重連次數(shù)較小時(shí),會(huì)導(dǎo)致在長(zhǎng)連接未斷開(kāi)的情況下,即會(huì)進(jìn)行無(wú)意義的重連,造成浪費(fèi)系統(tǒng)資源。
因此,在某些實(shí)施例中,為了使重連次數(shù)更精確,更符合網(wǎng)絡(luò)狀態(tài)要求,該裝置還可以包括:
第四確定模塊,用于確定所述當(dāng)前運(yùn)行狀態(tài)的重連要求;
此時(shí),所述連接判斷模塊可以包括:
第二連接單元,用于根據(jù)所述響應(yīng)時(shí)長(zhǎng),判斷是否按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
也即根據(jù)所述響應(yīng)時(shí)長(zhǎng),如果確定需要重新連接所述客戶端與所述服務(wù)端,即按照所述重連要求重新連接所述客戶端與所述服務(wù)端。
所述重連要求是根據(jù)當(dāng)前運(yùn)行狀態(tài)而確定的,隨著當(dāng)前運(yùn)行狀態(tài)的改變而改變,當(dāng)前運(yùn)行狀態(tài)不同時(shí),對(duì)應(yīng)的重連要求不同。
作為一種可能的實(shí)現(xiàn)方式,所述重連要求可以包括重連次數(shù);
所述第四確定模塊可以包括:
第五確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量大于第一數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第一連接類型和/或所述網(wǎng)絡(luò)連接階段為第一連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第一重連次數(shù);
第六確定單元,用于如果所述當(dāng)前消息的傳輸數(shù)量小于第二數(shù)量閾值、所述網(wǎng)絡(luò)連接類型為第二連接類型和/或所述網(wǎng)絡(luò)連接階段為第二連接階段,確定對(duì)應(yīng)的重連要求中的所述重連次數(shù)為第二重連次數(shù);
其中,所述第一重連次數(shù)小于所述第二重連次數(shù),所述第一數(shù)量閾值大于或等于所述第二數(shù)量閾值。
則所述連接判斷模塊具體可以用于:
所述重連次數(shù)為第一重連次數(shù)時(shí),根據(jù)所述第一重連次數(shù)重新連接所述客戶端與所述服務(wù)端。
所述連接判斷模塊具體還可以用于:
所述重連次數(shù)為第二重連次數(shù)時(shí),根據(jù)所述第二重連次數(shù)重新連接所述客戶端與所述服務(wù)端。
本發(fā)明實(shí)施例中,通過(guò)網(wǎng)絡(luò)運(yùn)行狀態(tài)確定的重連次數(shù)更加符合網(wǎng)絡(luò)的運(yùn)行狀態(tài),進(jìn)而可以根據(jù)所述重連次數(shù)來(lái)精確確定是否重新連接所述客戶端與所述服務(wù)端,提高了所述客戶端與所述服務(wù)端之間的長(zhǎng)連接的穩(wěn)定性。
在一個(gè)典型的配置中,計(jì)算設(shè)備包括一個(gè)或多個(gè)處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(rom)或閃存(flashram)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì)的示例。
計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可以由任何方法或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可以是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dram)、其他類型的隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能光盤(pán)(dvd)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可以被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號(hào)和載波。
如在說(shuō)明書(shū)及權(quán)利要求當(dāng)中使用了某些詞匯來(lái)指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會(huì)用不同名詞來(lái)稱呼同一個(gè)組件。本說(shuō)明書(shū)及權(quán)利要求并不以名稱的差異來(lái)作為區(qū)分組件的方式,而是以組件在功能上的差異來(lái)作為區(qū)分的準(zhǔn)則。如在通篇說(shuō)明書(shū)及權(quán)利要求當(dāng)中所提及的“包含”為一開(kāi)放式用語(yǔ),故應(yīng)解釋成“包含但不限定于”。“大致”是指在可接收的誤差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問(wèn)題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過(guò)其他裝置或耦接手段間接地電性耦接至所述第二裝置。說(shuō)明書(shū)后續(xù)描述為實(shí)施本申請(qǐng)的較佳實(shí)施方式,然所述描述乃以說(shuō)明本申請(qǐng)的一般原則為目的,并非用以限定本申請(qǐng)的范圍。本申請(qǐng)的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
還需要說(shuō)明的是,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素
上述說(shuō)明示出并描述了本申請(qǐng)的若干優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本申請(qǐng)并非局限于本文所披露的形式,不應(yīng)看作是對(duì)其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述申請(qǐng)構(gòu)想范圍內(nèi),通過(guò)上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識(shí)進(jìn)行改動(dòng)。而本領(lǐng)域人員所進(jìn)行的改動(dòng)和變化不脫離本申請(qǐng)的精神和范圍,則都應(yīng)在本申請(qǐng)所附權(quán)利要求的保護(hù)范圍內(nèi)。