免了當(dāng)前網(wǎng)絡(luò)設(shè)備之間的連接交互繁瑣復(fù)雜,且在網(wǎng)絡(luò)連接異常時(shí),難以自動(dòng)重新連接的問題。
[0103]為了使本領(lǐng)域的技術(shù)人員更好的了解本發(fā)明,下面列舉一個(gè)更為具體的實(shí)施例,如圖3所示,本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)設(shè)備的連接方法,包括:
[0104]步驟301、第一網(wǎng)絡(luò)設(shè)備在局域網(wǎng)中通過UDP廣播發(fā)送掃描設(shè)備命令。
[0105]例如該掃描設(shè)備命令表示為SCAN_DEVICE。其中,UDP為User Datagram Protocol的簡稱,表示用戶數(shù)據(jù)報(bào)協(xié)議。
[0106]在步驟301之前,局域網(wǎng)中的各網(wǎng)絡(luò)設(shè)備需要預(yù)先進(jìn)入U(xiǎn)DP廣播接收狀態(tài)。
[0107]步驟302、第二網(wǎng)絡(luò)設(shè)備在接收到掃描設(shè)備命令后,向所述第一網(wǎng)絡(luò)設(shè)備廣播發(fā)送掃描設(shè)備應(yīng)答命令以及第二網(wǎng)絡(luò)設(shè)備自身的IP地址和端口號(hào)。
[0108]此處的掃描設(shè)備應(yīng)答命令表示為SCAN_DEVICE_ACK,表示用于回復(fù)SCAN_DEVICE命令。
[0109]步驟303、第一網(wǎng)絡(luò)設(shè)備在接收到掃描設(shè)備應(yīng)答命令之后,通過單播方式向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令。
[0110]此處的連接請求命令表示為CONNECT_REQUEST。
[0111]步驟304、第二網(wǎng)絡(luò)設(shè)備通過單播方式向第一網(wǎng)絡(luò)設(shè)備發(fā)送連接請求應(yīng)答命令。
[0112]此處的連接請求應(yīng)答命令可以表示為C0NNECT_ACK,用于應(yīng)答CONNECT_REQUEST命令。
[0113]第二網(wǎng)絡(luò)設(shè)備在接收到連接請求命令后,再自身設(shè)備處建立網(wǎng)絡(luò)連接監(jiān)聽服務(wù)。其發(fā)送連接請求應(yīng)答命令表示監(jiān)聽服務(wù)已經(jīng)準(zhǔn)備好。
[0114]步驟305、第一網(wǎng)絡(luò)設(shè)備根據(jù)第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào),通過TCP或UDP協(xié)議與第二網(wǎng)絡(luò)設(shè)備建立Socket網(wǎng)絡(luò)連接。
[0115]步驟306、第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第二頻率向第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令。之后執(zhí)行步驟307或者步驟308。
[0116]例如每3秒發(fā)送一次心跳檢查命令。
[0117]該心跳檢查命令可以表示為HEARTBEAT_DETECT,以為了檢查網(wǎng)絡(luò)設(shè)備之間的連接狀態(tài)。
[0118]步驟307、若第二網(wǎng)絡(luò)設(shè)備接收到心跳檢查命令,向第一網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查應(yīng)答命令。
[0119]該心跳檢查應(yīng)答命令可以表示為HEARTBEAT_DETECT_ACK,用于應(yīng)答HEARTBEAT_DETECT 指令。
[0120]步驟308、若第二網(wǎng)絡(luò)設(shè)備未接收到心跳檢查命令,則不進(jìn)行動(dòng)作。
[0121]在步驟307和步驟308之后執(zhí)行步驟309。
[0122]步驟309、第一網(wǎng)絡(luò)設(shè)備判斷其自身在一預(yù)設(shè)時(shí)間范圍內(nèi)是否接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令。
[0123]若第一網(wǎng)絡(luò)設(shè)備在預(yù)先設(shè)置的時(shí)間范圍內(nèi)接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令,執(zhí)行步驟310:確定第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接正常。
[0124]若第一網(wǎng)絡(luò)設(shè)備在預(yù)先設(shè)置的時(shí)間范圍內(nèi)未接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令,執(zhí)行步驟311:確定第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接異常。
[0125]在步驟311之后,執(zhí)行步驟312:第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第一頻率通過廣播向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令。
[0126]步驟313、第二網(wǎng)絡(luò)設(shè)備向第一網(wǎng)絡(luò)設(shè)備發(fā)送連接請求應(yīng)答命令以及第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào)。
[0127]步驟314、第一網(wǎng)絡(luò)設(shè)備根據(jù)第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào)與第二網(wǎng)絡(luò)設(shè)備重新建立連接,并停止向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令。
[0128]本發(fā)明實(shí)施例提供的一種網(wǎng)絡(luò)設(shè)備的連接方法,第一網(wǎng)絡(luò)設(shè)備能夠在局域網(wǎng)中通過UDP廣播發(fā)送掃描設(shè)備命令,并接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令,以與一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接;之后第一網(wǎng)絡(luò)設(shè)備還可以向第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令,并根據(jù)第二網(wǎng)絡(luò)設(shè)備的應(yīng)答情況確定第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接狀態(tài);并在第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間網(wǎng)絡(luò)連接異常時(shí),第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第一頻率通過廣播向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令,以與第二網(wǎng)絡(luò)設(shè)備重新連接。可見,本發(fā)明中的局域網(wǎng)中的網(wǎng)絡(luò)設(shè)備可以通過簡單的指令即可實(shí)現(xiàn)設(shè)備發(fā)現(xiàn),并且能夠監(jiān)測連接狀態(tài),在網(wǎng)絡(luò)連接異常時(shí),能夠及時(shí)重新連接。避免了當(dāng)前網(wǎng)絡(luò)設(shè)備之間的連接交互繁瑣復(fù)雜,且在網(wǎng)絡(luò)連接異常時(shí),難以自動(dòng)重新連接的問題。
[0129]對應(yīng)于上述圖1和圖3所示的實(shí)施例,如圖4所示,本發(fā)明實(shí)施例提供一種第一網(wǎng)絡(luò)設(shè)備,包括:
[0130]掃描設(shè)備命令發(fā)送單元41,可以在局域網(wǎng)中通過UDP廣播發(fā)送掃描設(shè)備命令。
[0131]網(wǎng)絡(luò)連接建立單元42,可以接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令,以與一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接。
[0132]心跳檢查命令發(fā)送單元43,可以向第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令。
[0133]網(wǎng)絡(luò)連接狀態(tài)確定單元44,可以根據(jù)第二網(wǎng)絡(luò)設(shè)備的應(yīng)答情況確定第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接狀態(tài)。
[0134]重連接單元45,可以在第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間網(wǎng)絡(luò)連接異常時(shí),以一預(yù)先設(shè)置的第一頻率通過廣播向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令,以與第二網(wǎng)絡(luò)設(shè)備重新連接。
[0135]具體的,如圖5所示,該網(wǎng)絡(luò)連接建立單元42,包括:
[0136]掃描設(shè)備應(yīng)答命令接收模塊421,可以接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令以及第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào)。
[0137]第一連接請求命令發(fā)送模塊422,可以通過單播方式向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令。
[0138]第一連接請求應(yīng)答命令接收模塊423,可以接收第二網(wǎng)絡(luò)設(shè)備通過單播方式發(fā)送的連接請求應(yīng)答命令。
[0139]網(wǎng)絡(luò)連接建立模塊424,可以根據(jù)第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào),通過TCP或UDP協(xié)議與第二網(wǎng)絡(luò)設(shè)備建立Socket網(wǎng)絡(luò)連接。
[0140]此外,心跳檢查命令發(fā)送單元43,具體可以以一預(yù)先設(shè)置的第二頻率向第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令。
[0141]具體的,如圖5所示,網(wǎng)絡(luò)連接狀態(tài)確定單元44,可以包括:
[0142]判斷模塊441,可以判斷其自身在一預(yù)設(shè)時(shí)間范圍內(nèi)是否接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令。
[0143]確定模塊442,可以在預(yù)先設(shè)置的時(shí)間范圍內(nèi)接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令時(shí),確定第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接正常;并在預(yù)先設(shè)置的時(shí)間范圍內(nèi)未接收到第二網(wǎng)絡(luò)設(shè)備發(fā)送的心跳檢查應(yīng)答命令,確定第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接異常。
[0144]具體的,如圖5所示,重連接單元45,可以包括:
[0145]第二連接請求命令發(fā)送模塊451,可以以一預(yù)先設(shè)置的第一頻率通過廣播向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令。
[0146]第二連接請求應(yīng)答命令接收模塊452,可以接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的連接請求應(yīng)答命令以及第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào)。
[0147]重連接模塊453,可以根據(jù)第二網(wǎng)絡(luò)設(shè)備的IP地址和端口號(hào)與第二網(wǎng)絡(luò)設(shè)備重新建立連接,并停止向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令。
[0148]本發(fā)明實(shí)施例提供的一種第一網(wǎng)絡(luò)設(shè)備,第一網(wǎng)絡(luò)設(shè)備能夠在局域網(wǎng)中通過UDP廣播發(fā)送掃描設(shè)備命令,并接收一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備廣播發(fā)送的掃描設(shè)備應(yīng)答命令,以與一個(gè)或多個(gè)第二網(wǎng)絡(luò)設(shè)備建立網(wǎng)絡(luò)連接;之后第一網(wǎng)絡(luò)設(shè)備還可以向第二網(wǎng)絡(luò)設(shè)備發(fā)送心跳檢查命令,并根據(jù)第二網(wǎng)絡(luò)設(shè)備的應(yīng)答情況確定第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間的網(wǎng)絡(luò)連接狀態(tài);并在第一網(wǎng)絡(luò)設(shè)備和第二網(wǎng)絡(luò)設(shè)備之間網(wǎng)絡(luò)連接異常時(shí),第一網(wǎng)絡(luò)設(shè)備以一預(yù)先設(shè)置的第一頻率通過廣播向第二網(wǎng)絡(luò)設(shè)備發(fā)送連接請求命令,以與第二網(wǎng)絡(luò)設(shè)備重新連接??梢姡景l(fā)明中的局域網(wǎng)中的網(wǎng)絡(luò)設(shè)備可以通過簡單的指令即可實(shí)現(xiàn)設(shè)備發(fā)現(xiàn),并且能夠監(jiān)測連接狀態(tài),在網(wǎng)絡(luò)連接異常時(shí),能夠及時(shí)重新連接。避免了當(dāng)前網(wǎng)絡(luò)設(shè)備之間的連接交互繁瑣復(fù)雜,且在網(wǎng)絡(luò)連接異常時(shí),難以自動(dòng)重新連接的問題。
[0149]對應(yīng)于上述圖2和圖3所示的實(shí)施例,如圖6所示,本發(fā)明實(shí)施例提供一種第二網(wǎng)絡(luò)設(shè)備,包括:
[0150]掃描設(shè)備命