SmobilerService新功能“路由發(fā)現(xiàn)”

什么是路由發(fā)現(xiàn)?這是我們近期正忙于開發(fā)的一項(xiàng) SmobilerService 功能之一。

在吳橋等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,吳橋網(wǎng)站建設(shè)費(fèi)用合理。

“路由發(fā)現(xiàn)”目前僅僅作為一個(gè)內(nèi)部代號(hào)被使用,最終正式的名稱是否有變化暫時(shí)尚不可知,如果你有什么更好的提議,可以和我們一起聊聊。

但總之,我們希望借此解決的是:當(dāng) APP 處于純內(nèi)網(wǎng)時(shí),首次啟動(dòng)需要連接公網(wǎng)的問題。借助路由發(fā)現(xiàn),純內(nèi)網(wǎng) APP 不再需要連接公網(wǎng)即可直接啟動(dòng)。

APP 初次啟動(dòng)必須連接公網(wǎng)可能阻礙了一些企業(yè)使用 Smobiler 應(yīng)用的決心。部分企業(yè)應(yīng)用在內(nèi)網(wǎng)即可運(yùn)行使用,而首次啟動(dòng)需連接公網(wǎng)為這些用戶帶來了不便。


為什么 APP 啟動(dòng)需要連接 Internet 公網(wǎng)

這樣的做法,在技術(shù)和使用感受兩個(gè)層面,主要是基于以下這一問題的考慮:

當(dāng)服務(wù)器 IP 地址在打包時(shí)即寫死在 APP 中時(shí),雖然 APP 可實(shí)現(xiàn)純粹的離線啟動(dòng),但是服務(wù)器地址一旦改變,則所有應(yīng)用都需要重新打包并再次分發(fā)。這顯然是不合理的,沒有應(yīng)用會(huì)為了修改一個(gè) IP 地址而推出新版本。

當(dāng)安裝應(yīng)用的人數(shù)越多時(shí),這一情況會(huì)變的愈發(fā)復(fù)雜。

因而云平臺(tái)在誕生時(shí),為了嘗試解決這一問題,就在應(yīng)用啟動(dòng)時(shí)為它進(jìn)行了一次自動(dòng)的、類似 DNS 解析的行為,告知 APP 服務(wù)器所在地址,由此很好的解決了服務(wù)器 IP 變更需要充分打包并分發(fā)應(yīng)用的問題。目前,當(dāng)你的服務(wù)器地址發(fā)生變化時(shí),只需要登錄云平臺(tái)進(jìn)行修改并保存,則客戶端即可立即得知以恢復(fù)鏈接而無需重新分發(fā)應(yīng)用。

如下便是修改服務(wù)器 IP 地址的云平臺(tái)界面:

SmobilerService 新功能 “路由發(fā)現(xiàn)”

你也能在打包時(shí)獲得修改服務(wù)器 IP 地址無需重新打包的提示:

SmobilerService 新功能 “路由發(fā)現(xiàn)”

云平臺(tái)在 APP 啟動(dòng)時(shí),就已經(jīng)為應(yīng)用進(jìn)行了一次 DNS 操作,將你的設(shè)備正確的導(dǎo)向了指定服務(wù)器,避免了往復(fù)和重新打包、分發(fā)帶來的資源浪費(fèi)。

同時(shí),隨著用戶群體的不斷擴(kuò)大,市場部門希望了解用戶數(shù)的增長趨勢等數(shù)據(jù)以指導(dǎo)今后的推廣工作。鑒于 DNS 功能的存在,我們簡單的對(duì) DNS 解析記錄分類、求和計(jì)算,便可以得到這些運(yùn)營信息,幫助市場部門隨時(shí)觀察推廣結(jié)果,改進(jìn)方案。

在 Smobiler 啟動(dòng)硬件計(jì)劃后,這一過程也被用于認(rèn)證 Smobiler 所銷售的設(shè)備的合法性。

因而我們最終打算通過 SmobilerService 路由發(fā)現(xiàn)功能來解決內(nèi)網(wǎng)用戶的問題。首先實(shí)現(xiàn)純內(nèi)網(wǎng)設(shè)備可以正常啟動(dòng),同時(shí)我們?nèi)耘f可以驗(yàn)證 Smobiler 設(shè)備。


我們曾設(shè)想過使用類似“服務(wù)發(fā)現(xiàn)”的思路來解決內(nèi)網(wǎng)問題

所謂服務(wù)發(fā)現(xiàn),就是當(dāng) APP 與服務(wù)器運(yùn)行在同一局域網(wǎng)中時(shí),APP 能夠通過某種方式,自動(dòng)發(fā)現(xiàn)運(yùn)行在同一局域網(wǎng)中的服務(wù)端 。

這主要涉及 3 種局域網(wǎng)設(shè)備發(fā)現(xiàn)手段:

  • 單播

  • 廣播

  • 組播


單播很容易理解,簡而言之就是一臺(tái)設(shè)備在已知另一臺(tái)設(shè)備 IP 地址的情況下,單獨(dú)向其發(fā)送消息。

廣播則是一臺(tái)設(shè)備向整個(gè)局域網(wǎng)中,同一網(wǎng)段內(nèi)的所有設(shè)備發(fā)送消息。

組播是前兩者的融合和提升。通過一個(gè)指定的預(yù)留 IP 地址(公網(wǎng)或內(nèi)網(wǎng)),加入了此地址的設(shè)備形成一個(gè)組,然后單一設(shè)備向該地址發(fā)送消息,其余在組內(nèi)的設(shè)備皆可接收。

看樣子廣播和組播能夠?qū)崿F(xiàn)我們想要的功能。

但不幸的是:

  • 廣播只能向同一網(wǎng)段內(nèi)的設(shè)備發(fā)送消息。例如,192.168.1.10 與 192.168.1.20 在同一網(wǎng)段則可互相接收廣播。


但 192.168.1.10 與 192.168.2.20 就不在同一個(gè)局域網(wǎng)網(wǎng)段下(注意看倒數(shù)第2位),也就不能接收到來自局域網(wǎng)的廣播消息。只有類似 192.168.1.* 的地址才為同一網(wǎng)段。

企業(yè)網(wǎng)絡(luò)通常較為復(fù)雜,單一的網(wǎng)段能夠容納的設(shè)備數(shù)有限且管理不便,因此通常都會(huì)有多個(gè)網(wǎng)段,這使得廣播可能在跨網(wǎng)段時(shí),不再有效。以石磨為例,僅僅是多部門協(xié)同就有多達(dá)數(shù)十個(gè)網(wǎng)段滿足不同部門的需要,從 10.10.*.* 到 192.168.*.* 均略有覆蓋,廣播的方案已不再可行。

  • 那么,組播呢?看起來是我們想要的東西。


但最終嘗試時(shí)還是發(fā)現(xiàn)一定問題。組播可以“跨網(wǎng)段向組內(nèi)的成員廣播”是事實(shí),但這必須路由器支持組播協(xié)議,而該功能默認(rèn)情況下是關(guān)閉的,組播數(shù)據(jù)包在到達(dá)路由器時(shí)即被靜默的丟棄不再轉(zhuǎn)發(fā)。且有的路由器為了簡化用戶界面隱藏了設(shè)置項(xiàng),使得這一操作的門檻變的更高。我們不希望這一功能最終變的十分晦澀難以設(shè)置,用戶根本無從下手。


為什么路由器默認(rèn)拋棄組播的數(shù)據(jù)包?因?yàn)楹苋菀紫胂螽?dāng)局域網(wǎng)內(nèi)隨意充斥著成百萬上千萬個(gè)組播數(shù)據(jù)包時(shí),網(wǎng)絡(luò)會(huì)糟糕到什么樣子,同時(shí)組播是支持在 Internet 公網(wǎng)上公開的,這很容易給企業(yè)網(wǎng)帶來巨大的不可控風(fēng)險(xiǎn)。換言之,你的企業(yè)網(wǎng)管可能不愿意打開這項(xiàng)功能。

最終我們退而求其次決定使用最簡單的方式

鑒于上述問題的綜合考量,我們最終還是決定以最容易理解和操作的方式解決內(nèi)網(wǎng)用戶的問題:

直接打包 SmobilerService 地址,但舍棄了更換 IP 無需打包的便利性。

現(xiàn)在,當(dāng) APP 下的 SmobilerService 處于可用狀態(tài)時(shí)(試用中/永久激活),用戶選擇打包 >=4.8 以上內(nèi)核版本的應(yīng)用,就可在通用選項(xiàng)區(qū)域看到一個(gè)新選項(xiàng) —— “SmobilerService服務(wù)器地址” 。

SmobilerService 新功能 “路由發(fā)現(xiàn)”

填寫地址并重新打包應(yīng)用后,分發(fā)給最終用戶安裝,并將 Smobiler 服務(wù)端托管在 SmobilerService 上,即可直接在純內(nèi)網(wǎng)環(huán)境下啟動(dòng)應(yīng)用,無需再連接公網(wǎng)。

當(dāng)然像最初提到的,這一方式的優(yōu)點(diǎn)在于操作簡單便捷,但缺點(diǎn)也十分明顯,一旦內(nèi)網(wǎng)地址發(fā)生改變,你就必須重新打包 SmobilerService 應(yīng)用并再次分發(fā)。這是我們?yōu)榻鉀Q純內(nèi)網(wǎng)用戶的一直以來的需求而折中便利性與功能性的方案。


請確保云平臺(tái)連接可用

我們目前的 SmobilerService 路由發(fā)現(xiàn)功能界面長這樣:

SmobilerService 新功能 “路由發(fā)現(xiàn)”

你一定留意到了 “Smobiler 云平臺(tái)可用性”。是的,你依舊需要確保 SmobilerService 能夠與云平臺(tái)正常連接,讓它接替 APP 向云平臺(tái)完成設(shè)備認(rèn)證,這樣路由發(fā)現(xiàn)個(gè)功能才可用。

當(dāng)連接不再暢通時(shí),你將看到如下界面:

SmobilerService 新功能 “路由發(fā)現(xiàn)”

此時(shí),SmobilerService 無法接替設(shè)備本身向云平臺(tái)發(fā)起代理認(rèn)證,則路由中轉(zhuǎn)功能不再可用,APP 無法在純內(nèi)網(wǎng)啟動(dòng)。

新聞名稱:SmobilerService新功能“路由發(fā)現(xiàn)”
鏈接分享:http://muchs.cn/article28/ijohcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、服務(wù)器托管、虛擬主機(jī)、軟件開發(fā)、網(wǎng)站維護(hù)、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司