一種網(wǎng)絡(luò)設(shè)備的連接方法、設(shè)備及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊連接技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)設(shè)備的連接方法、設(shè)備及系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)前,隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,越來(lái)越多的網(wǎng)絡(luò)設(shè)備需要在同一個(gè)局域網(wǎng)內(nèi)實(shí)現(xiàn)網(wǎng)絡(luò)通訊,然而要實(shí)現(xiàn)同一局域網(wǎng)通訊,就必須首先發(fā)現(xiàn)設(shè)備,并獲取對(duì)方設(shè)備的IP地址、通信端口號(hào)以及網(wǎng)絡(luò)設(shè)備的相關(guān)信息。
[0003]目前比較成熟的網(wǎng)絡(luò)設(shè)備發(fā)現(xiàn)方法有數(shù)字生活網(wǎng)絡(luò)聯(lián)盟(DLNA)支持的簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議(Simple Service Discovery Protocol,簡(jiǎn)稱SSDP),SSDP協(xié)議把局域網(wǎng)內(nèi)的設(shè)備分為控制點(diǎn)(接收服務(wù)的客戶端)和設(shè)備(提供服務(wù)的服務(wù)端)兩種類型網(wǎng)絡(luò)設(shè)備??刂泣c(diǎn)(客戶端)接入網(wǎng)絡(luò)的時(shí)候,向一個(gè)特定多播地址的端口廣播消息,尋找局域網(wǎng)內(nèi)感興趣的設(shè)備(服務(wù)端)。廣播消息內(nèi)容包括尋找設(shè)備的服務(wù)類型、尋找設(shè)備的標(biāo)識(shí)符、尋找設(shè)備的描述信息、協(xié)議約定的多播地址和端口號(hào)。設(shè)備(服務(wù)端)接入網(wǎng)絡(luò)的時(shí)候,向一個(gè)特定多播地址的端口廣播消息,向局域網(wǎng)內(nèi)所有控制點(diǎn)(客戶端)聲明自己存在。并在廣播消息內(nèi)容中包含本設(shè)備支持的服務(wù)類型,設(shè)備的標(biāo)識(shí)符和設(shè)備的其他特定信息等。SSDP簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議需要區(qū)分控制點(diǎn)(客戶端)和設(shè)備(服務(wù)端)兩類網(wǎng)絡(luò)設(shè)備,在設(shè)備發(fā)現(xiàn)過(guò)程中交互繁瑣,廣播消息內(nèi)容復(fù)雜,目前支持的服務(wù)類型有限,無(wú)法適應(yīng)所有的網(wǎng)絡(luò)設(shè)備發(fā)現(xiàn)應(yīng)用場(chǎng)景,并且在兩個(gè)網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接異常時(shí),無(wú)法自動(dòng)重新連接。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供一種網(wǎng)絡(luò)設(shè)備的連接方法、設(shè)備及系統(tǒng),以解決當(dāng)前網(wǎng)絡(luò)設(shè)備之間的連接交互繁瑣復(fù)雜,且在網(wǎng)絡(luò)連接異常時(shí),難以自動(dòng)重新連接的問(wèn)題。
[0005]為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
[0006]一種網(wǎng)絡(luò)設(shè)備的連接方法,包括:
[0007]第一網(wǎng)絡(luò)設(shè)備在局域網(wǎng)中通過(guò)UDP廣播發(fā)送掃描設(shè)備命令;
[0008]所述第一網(wǎng)絡(luò)設(shè)備接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令,以與所述一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接;
[0009]所述第一網(wǎng)絡(luò)設(shè)備向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令;
[0010]所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的應(yīng)答情況確定所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接狀態(tài);
[0011]若所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間網(wǎng)絡(luò)連接異常,所述第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第一頻率通過(guò)廣播向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求命令,以與所述第二網(wǎng)絡(luò)設(shè)備重新連接。
[0012]具體的,所述第一網(wǎng)絡(luò)設(shè)備接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令,以與所述一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接,包括:
[0013]所述第一網(wǎng)絡(luò)設(shè)備接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令以及第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào);
[0014]所述第一網(wǎng)絡(luò)設(shè)備通過(guò)單播方式向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求命令;
[0015]所述第一網(wǎng)絡(luò)設(shè)備接收所述第二網(wǎng)絡(luò)設(shè)備通過(guò)單播方式發(fā)送的連接請(qǐng)求應(yīng)答命令;
[0016]所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào),通過(guò)TCP或UDP協(xié)議與所述第二網(wǎng)絡(luò)設(shè)備建立Socket網(wǎng)絡(luò)連接。
[0017]具體的,所述第一網(wǎng)絡(luò)設(shè)備向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令,包括:
[0018]所述第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第二頻率向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令。
[0019]具體的,所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的應(yīng)答情況確定所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接狀態(tài),包括:
[0020]所述第一網(wǎng)絡(luò)設(shè)備判斷其自身在一預(yù)設(shè)時(shí)間范圍內(nèi)是否接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令;
[0021]若所述第一網(wǎng)絡(luò)設(shè)備在所述預(yù)先設(shè)置的時(shí)間范圍內(nèi)接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令,確定所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接正常;
[0022]若所述第一網(wǎng)絡(luò)設(shè)備在所述預(yù)先設(shè)置的時(shí)間范圍內(nèi)未接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令,確定所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接異常。
[0023]具體的,所述第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第一頻率通過(guò)廣播向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求命令,以與所述第二網(wǎng)絡(luò)設(shè)備重新連接,包括:
[0024]所述第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第一頻率通過(guò)廣播向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求命令;
[0025]所述第一網(wǎng)絡(luò)設(shè)備接收所述第二網(wǎng)絡(luò)設(shè)備發(fā)送的連接請(qǐng)求應(yīng)答命令以及所述第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào);
[0026]所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào)與所述第二網(wǎng)絡(luò)設(shè)備重新建立連接,并停止向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求命令。
[0027]—種網(wǎng)絡(luò)設(shè)備的連接方法,包括:
[0028]第二網(wǎng)絡(luò)設(shè)備在局域網(wǎng)中接收第一網(wǎng)絡(luò)設(shè)備通過(guò)UDP廣播發(fā)送的掃描設(shè)備命令;
[0029]所述第二網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備廣播發(fā)送掃描設(shè)備應(yīng)答命令,以與所述第一網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接;
[0030]所述第二網(wǎng)絡(luò)設(shè)備接收所述第一網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查命令;
[0031]所述第二網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查應(yīng)答命令,以使得所述第一網(wǎng)絡(luò)設(shè)備確定所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接狀態(tài);
[0032]所述第二網(wǎng)絡(luò)設(shè)備接收所述第一網(wǎng)絡(luò)設(shè)備發(fā)送的連接請(qǐng)求命令,以與所述第一網(wǎng)絡(luò)設(shè)備重新連接。
[0033]具體的,所述第二網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備廣播發(fā)送掃描設(shè)備應(yīng)答命令,以與所述第一網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接,包括:
[0034]所述第二網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備廣播發(fā)送所述掃描設(shè)備應(yīng)答命令以及第二網(wǎng)絡(luò)設(shè)備自身的IP地址和端口號(hào);
[0035]所述第二網(wǎng)絡(luò)設(shè)備接收所述第一網(wǎng)絡(luò)設(shè)備通過(guò)單播方式發(fā)送的連接請(qǐng)求命令;
[0036]所述第二網(wǎng)絡(luò)設(shè)備通過(guò)單播方式向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求應(yīng)答命令,以使得所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào),通過(guò)TCP或UDP協(xié)議與所述第二網(wǎng)絡(luò)設(shè)備建立Socket網(wǎng)絡(luò)連接。
[0037]具體的,所述第二網(wǎng)絡(luò)設(shè)備接收所述第一網(wǎng)絡(luò)設(shè)備發(fā)送的連接請(qǐng)求命令,以與所述第一網(wǎng)絡(luò)設(shè)備重新連接,包括:
[0038]所述第二網(wǎng)絡(luò)設(shè)備接收所述第一網(wǎng)絡(luò)設(shè)備發(fā)送的連接請(qǐng)求命令;
[0039]所述第二網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求應(yīng)答命令以及所述第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào),以使得所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào)與所述第二網(wǎng)絡(luò)設(shè)備重新建立連接。
[0040]一種第一網(wǎng)絡(luò)設(shè)備,包括:
[0041]掃描設(shè)備命令發(fā)送單元,用于在局域網(wǎng)中通過(guò)UDP廣播發(fā)送掃描設(shè)備命令;
[0042]網(wǎng)絡(luò)連接建立單元,用于接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令,以與所述一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接;
[0043]心跳檢查命令發(fā)送單元,用于向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令;
[0044]網(wǎng)絡(luò)連接狀態(tài)確定單元,用于根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的應(yīng)答情況確定所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接狀態(tài);
[0045]重連接單元,用于在所述第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間網(wǎng)絡(luò)連接異常時(shí),以一預(yù)先設(shè)置的第一頻率通過(guò)廣播向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求命令,以與所述第二網(wǎng)絡(luò)設(shè)備重新連接。
[0046]具體的,所述網(wǎng)絡(luò)連接建立單元,包括:
[0047]掃描設(shè)備應(yīng)答命令接收模塊,用于接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令以及第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào);
[0048]第一連接請(qǐng)求命令發(fā)送模塊,用于通過(guò)單播方式向所述第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請(qǐng)求命令;
[0049]第一連接請(qǐng)求應(yīng)答命令接收模塊,用于接收所述第二網(wǎng)絡(luò)設(shè)備通過(guò)單播方式發(fā)送的連接請(qǐng)求應(yīng)答命令;
[0050]網(wǎng)絡(luò)連接建立模塊,用于根據(jù)所述第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào),通過(guò)TCP或UDP協(xié)議與所述第二網(wǎng)絡(luò)設(shè)備建立Socket網(wǎng)絡(luò)連接。
[0051]此外,所述心跳檢查命令發(fā)送單元,具體用于:
[0052]以一預(yù)先設(shè)置的第