一種設(shè)備間內(nèi)網(wǎng)通信的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種設(shè)備間內(nèi)網(wǎng)通信的方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著物聯(lián)網(wǎng)的快速發(fā)展,越來(lái)越多的智能硬件涌現(xiàn)出來(lái),這些智能硬件可以配合手機(jī)或者平板等終端使用,方便地實(shí)現(xiàn)對(duì)各種智能設(shè)備的控制和監(jiān)控。在早期,大多數(shù)智能硬件都采用藍(lán)牙作為數(shù)據(jù)傳輸通道,但藍(lán)牙傳輸方式只適用于短距離通信,具有距離上的局限性?,F(xiàn)在,越來(lái)越多的智能硬件開(kāi)始使用WIFI (Wireless Fidelity,無(wú)線保真)進(jìn)行通信,它能夠基于現(xiàn)有的家庭或者公共網(wǎng)絡(luò)快速聯(lián)網(wǎng),實(shí)現(xiàn)近距離或者遠(yuǎn)距離通信。
[0003]目前基于WIFI的智能硬件通信方式普遍都是通過(guò)服務(wù)器中轉(zhuǎn)來(lái)實(shí)現(xiàn),例如設(shè)備A要將數(shù)據(jù)發(fā)送給設(shè)備B,那么設(shè)備A首先要將數(shù)據(jù)發(fā)送到中轉(zhuǎn)服務(wù)器,再由中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)給設(shè)備B。反之亦是如此。這種通信方式依賴(lài)整個(gè)鏈路的連通性,包括設(shè)備A和服務(wù)器之間,以及設(shè)備B和服務(wù)器之間的鏈路連通性,如果其中一條鏈路信號(hào)差或者斷開(kāi),就會(huì)影響到設(shè)備間的正常通信,導(dǎo)致消息出現(xiàn)延時(shí)甚至于無(wú)法傳輸,同時(shí)中轉(zhuǎn)服務(wù)器的技術(shù)實(shí)現(xiàn)和維護(hù)都需要一定的成本支持。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種設(shè)備間內(nèi)網(wǎng)通信的方法和系統(tǒng),旨在解決現(xiàn)有技術(shù)中存在的由于通過(guò)服務(wù)器中轉(zhuǎn)實(shí)現(xiàn)設(shè)備間內(nèi)網(wǎng)通信的過(guò)程依賴(lài)整個(gè)鏈路的連通性,從而導(dǎo)致資源成本過(guò)高的問(wèn)題。
[0005]本發(fā)明的第一方面,提供一種設(shè)備間內(nèi)網(wǎng)通信的方法,包括:
[0006]服務(wù)端加入預(yù)置的組播群組,對(duì)預(yù)設(shè)的組播地址和預(yù)設(shè)的組播端口進(jìn)行監(jiān)聽(tīng);
[0007]客戶(hù)端通過(guò)組播方式查找所述服務(wù)端,并與所述服務(wù)端互相獲取對(duì)方的互聯(lián)網(wǎng)協(xié)議IP地址;
[0008]所述客戶(hù)端和所述服務(wù)端根據(jù)獲取的對(duì)方的IP地址,通過(guò)超文本傳輸協(xié)議HTTP進(jìn)行數(shù)據(jù)包傳輸。
[0009]本發(fā)明的第二方面,提供一種設(shè)備間內(nèi)網(wǎng)通信的系統(tǒng),包括服務(wù)端和客戶(hù)端;
[0010]所述服務(wù)端包括:
[0011 ]監(jiān)聽(tīng)模塊,用于加入預(yù)置的組播群組,對(duì)預(yù)設(shè)的組播地址和預(yù)設(shè)的組播端口進(jìn)行監(jiān)聽(tīng);
[0012]獲取模塊,用于通過(guò)組播方式獲取所述客戶(hù)端的IP地址;
[0013]傳輸模塊,用于根據(jù)所述獲取模塊獲取的所述客戶(hù)端的IP地址,與所述客戶(hù)端通過(guò)超文本傳輸協(xié)議HTTP進(jìn)行數(shù)據(jù)包傳輸;
[0014]所述客戶(hù)端包括:
[0015]查找模塊,用于通過(guò)組播方式查找所述服務(wù)端;
[0016]地址獲取模塊,用于通過(guò)組播方式獲取所述服務(wù)端的IP地址;
[0017]數(shù)據(jù)傳輸模塊,用于根據(jù)所述地址獲取模塊獲取的所述服務(wù)端的IP地址,與所述服務(wù)端通過(guò)超文本傳輸協(xié)議HTTP進(jìn)行數(shù)據(jù)包傳輸。
[0018]本發(fā)明與現(xiàn)有技術(shù)相比存在的有益效果是:通過(guò)組播方式發(fā)現(xiàn)內(nèi)網(wǎng)中的所有設(shè)備,并互相獲取對(duì)方的IP地址,使得設(shè)備間可以通過(guò)HTTP進(jìn)行數(shù)據(jù)傳輸,從而不需要依賴(lài)服務(wù)器中轉(zhuǎn)即可實(shí)現(xiàn)設(shè)備間的內(nèi)網(wǎng)通信,確保了數(shù)據(jù)傳輸?shù)牡竭_(dá)率,同時(shí)避免了使用中轉(zhuǎn)服務(wù)器帶來(lái)的資源成本投入。
【附圖說(shuō)明】
[0019]圖1是本發(fā)明實(shí)施例一提供的設(shè)備間內(nèi)網(wǎng)通信的方法的流程圖;
[0020]圖2是本發(fā)明實(shí)施例二提供的設(shè)備間內(nèi)網(wǎng)通信的方法的流程圖;
[0021]圖3是本發(fā)明實(shí)施例三提供的設(shè)備間內(nèi)網(wǎng)通信的系統(tǒng)的結(jié)構(gòu)示意圖;
[0022]圖4是本發(fā)明實(shí)施例四提供的設(shè)備間內(nèi)網(wǎng)通信的系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0024]以下結(jié)合具體附圖對(duì)本發(fā)明的實(shí)現(xiàn)進(jìn)行詳細(xì)的描述。
[0025]實(shí)施例一:
[0026]圖1是本發(fā)明實(shí)施例一提供的設(shè)備間內(nèi)網(wǎng)通信的方法的流程圖,具體包括步驟SlOl至S103,詳述如下:
[0027]S101、服務(wù)端加入預(yù)置的組播群組,對(duì)預(yù)設(shè)的組播地址和預(yù)設(shè)的組播端口進(jìn)行監(jiān)聽(tīng)。
[0028]組播(Multicast)是一種通訊模式,是指在發(fā)送者和每一個(gè)接收者之間實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)的網(wǎng)絡(luò)連接。如果一個(gè)發(fā)送者同時(shí)給多個(gè)的接收者傳輸相同的數(shù)據(jù),也只需復(fù)制一份相同的數(shù)據(jù)包。
[0029]具體地,服務(wù)端加入到預(yù)置的組播群組中,該組播群組提供一個(gè)預(yù)設(shè)的組播地址和預(yù)設(shè)的組播端口號(hào),加入到該組播群組中的服務(wù)端會(huì)對(duì)該組播地址和組播端口進(jìn)行監(jiān)聽(tīng)。
[0030]進(jìn)一步地,預(yù)設(shè)的組播地址可以在239.0.0.0?239.255.255.255的范圍內(nèi)選擇,預(yù)設(shè)的組播端口的端口號(hào)可以在1024?65535的范圍內(nèi)選擇,本實(shí)施例中組播地址可以定義為:239.8.213.214,組播端口的端口號(hào)可以定義為:29383。
[0031]S102、客戶(hù)端通過(guò)組播方式查找服務(wù)端,并與服務(wù)端互相獲取對(duì)方的互聯(lián)網(wǎng)協(xié)議IP地址。
[0032]組播方式,是指當(dāng)發(fā)送端向多個(gè)接收端發(fā)送數(shù)據(jù)時(shí),它不必向每一個(gè)接收端都發(fā)送數(shù)據(jù),只需將數(shù)據(jù)發(fā)送到一個(gè)預(yù)設(shè)的組播地址,所有加入組播群組的接收端,通過(guò)監(jiān)聽(tīng)該組播地址和組播端口,均可以收到這份數(shù)據(jù)。這樣對(duì)發(fā)送端而言,數(shù)據(jù)只需發(fā)送一次就可以發(fā)送到所有接收端,可以大大減輕網(wǎng)絡(luò)的負(fù)載和發(fā)送端的負(fù)擔(dān)。
[0033]具體地,客戶(hù)端通過(guò)組播方式向預(yù)設(shè)的組播地址發(fā)送客戶(hù)端的地址信息,服務(wù)端通過(guò)監(jiān)聽(tīng)組播地址和組播端口獲取到客戶(hù)端的地址信息后,將服務(wù)端的地址信息發(fā)送給客戶(hù)端,使得客戶(hù)端和服務(wù)端可以通過(guò)對(duì)方的地址信息互相獲取對(duì)方的互聯(lián)網(wǎng)協(xié)議IP地址。
[0034]S103、客戶(hù)端和服務(wù)端根據(jù)獲取的對(duì)方的IP地址,通過(guò)超文本傳輸協(xié)議HTTP進(jìn)行數(shù)據(jù)包傳輸。
[0035]具體地,客戶(hù)端和服務(wù)端互相獲取了對(duì)方的IP地址后,通過(guò)默認(rèn)的80端口,可以使用HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)進(jìn)行數(shù)據(jù)通信。例如,可以使用HTTP的POST方式進(jìn)行數(shù)據(jù)包傳輸。
[0036]需要說(shuō)明的是,服務(wù)端可以是智能硬件設(shè)備,通常作為內(nèi)網(wǎng)通信的數(shù)據(jù)接收端,客戶(hù)端可以是手機(jī)、平板電腦等終端設(shè)備,通常作為內(nèi)網(wǎng)通信的數(shù)據(jù)發(fā)送端。但是,客戶(hù)端和服務(wù)器不僅僅針對(duì)終端設(shè)備和硬件設(shè)備之間,也適用于硬件設(shè)備和硬件設(shè)備之間,終端設(shè)備和終端設(shè)備之間的任意組合;客戶(hù)端也不僅僅是作為數(shù)據(jù)發(fā)送端,服務(wù)端也不僅僅是作為數(shù)據(jù)接收端,客戶(hù)端和服務(wù)端可以互相之間進(jìn)行數(shù)據(jù)的發(fā)送和接收。
[0037]本實(shí)施例中,客戶(hù)端和服務(wù)端通過(guò)組播方式互相發(fā)現(xiàn)對(duì)方,并互相獲取對(duì)方的IP地址,使得設(shè)備間可以通過(guò)HTTP進(jìn)行數(shù)據(jù)傳輸,從而不需要依賴(lài)服務(wù)器中轉(zhuǎn)即可實(shí)現(xiàn)設(shè)備間的內(nèi)網(wǎng)通信,確保了數(shù)據(jù)傳輸?shù)牡竭_(dá)率,同時(shí)避免了使用中轉(zhuǎn)服務(wù)器帶來(lái)的資源成本投入。
[0038]實(shí)施例二:
[0039]圖2是本發(fā)明實(shí)施例二提供的設(shè)備間內(nèi)網(wǎng)通信的方法的流程圖,具體包括步驟S201至S206,詳述如下:
[0040]S201、服務(wù)端加入預(yù)置的組播群組,對(duì)預(yù)設(shè)的組播地址和預(yù)設(shè)的組播端口進(jìn)行監(jiān)聽(tīng)。
[0041]組播(Multicast)是一種通訊模式,是指在發(fā)送者和每一個(gè)接收者之間實(shí)現(xiàn)點(diǎn)對(duì)多點(diǎn)的網(wǎng)絡(luò)連接。如果一個(gè)發(fā)送者同時(shí)給多個(gè)的接收者傳輸相同的數(shù)據(jù),也只需復(fù)制一份相同的數(shù)據(jù)包。
[0042]具體地,服務(wù)端加入到預(yù)置的組播群組中,該組播群組提供一個(gè)預(yù)設(shè)的組播地址和預(yù)設(shè)的組播端口號(hào),加入到該組播群組中的服務(wù)端會(huì)對(duì)該組播地址和組播端口進(jìn)行監(jiān)聽(tīng)。
[0043]進(jìn)一步地,預(yù)設(shè)的組播地址可以在239.0.0.0?239.255.255.255的范圍內(nèi)選擇,預(yù)設(shè)的組播端口的端口號(hào)可以在1024?65535的范圍內(nèi)選擇,在本實(shí)施例中組播地址可以定義為:239.8.213.214,組播端口的端口號(hào)可以定義為:29383。
[0044]S202、客戶(hù)端啟動(dòng)并監(jiān)聽(tīng)預(yù)設(shè)的監(jiān)聽(tīng)端口。
[0045]具體地,客戶(hù)端啟動(dòng)預(yù)設(shè)的監(jiān)聽(tīng)端口,并對(duì)該監(jiān)聽(tīng)端口進(jìn)行監(jiān)聽(tīng),用于監(jiān)聽(tīng)服務(wù)端的連接請(qǐng)求。
[0046]該監(jiān)聽(tīng)端口的端口號(hào)可以在1024?65535的范圍內(nèi)選擇,在本實(shí)施例中可以定義為29385。需要注意的是,該監(jiān)聽(tīng)