1. 程式人生 > 實用技巧 >視訊上雲/網路穿透/拉轉推工具EasyNTS裝置IP地址返回資料與實際IP匹配的篩選機制優化

視訊上雲/網路穿透/拉轉推工具EasyNTS裝置IP地址返回資料與實際IP匹配的篩選機制優化

目前TSINGSEE青犀視訊已經把EasyNTS的功能進行了擴充套件,擴大了EasyNTS的使用範圍,關於新版EasyNTS的使用方法,我們在之前的博文中也有介紹,大家可以瞭解一下:EasyNTS上雲網關配置手冊介紹EasyNTS上雲網關推流直播實現流程

我們研發在客戶現場對EasyNTS平臺的測試當中發現,EasyNTS獲取裝置列表介面下,其中ip地址的那一欄,出現一大串的html的原始碼,本來應該是獲取裝置所在環境的外網ip,但是卻是獲得一大串的文字資訊。

經過排查我們瞭解到,這是由於客戶環境導致的問題,該客戶網路是有限制的,有些地址無法被訪問到,導致在獲取外網ip的時候沒有資料可獲取,最後返回一大串html的文字資料,是由於程式碼中沒有對返回的資料進行校驗。

因此我們不僅要確保地址訪問無誤,而且要在獲取外網ip的時候,對返回的資料進行校驗,如果和外網ip資料不匹配,就返回空的字串。

參考程式碼如下:

func WanIP() string {
   for {
      if ip, err := HttpGet("http://myexternalip.com/raw"); err == nil {
         //防止有些客戶的網路出現限制,所以對獲取的ip進行校驗
         if !checkIp(ip) {
            global.WanIP = ""
            log.Println("wan ip: 網路限制 ", )
         } else {
            global.WanIP = ip
            log.Println("wan ip:", ip)
         }
      }
      time.Sleep(time.Minute)
   }
}

func checkIp(ip string) bool {
   bits := strings.Split(ip, ".")
   if len(bits) != 4 {
      return false
   }
   return true
}

EasyNTS上雲網關與EasyNTS平臺的結合,實現了接入與管控、動態組網、遠端運維、檔案傳輸、遠端指令呼叫等功能,從終端到雲端,形成了一整套的上雲網關解決方案,極大地解決了現場無固定IP、埠不開放、系統許可權不開放等問題。如果大家還想了解更多內容或者視訊相關解決方案,歡迎聯絡我們。