视频上云/网络穿透/拉转推工具EasyNTS设备IP地址返回数据与实际IP匹配的筛选机制优化

TSINGSEE青犀视频扩展了EasyNTS功能并扩大其使用范围。研发在客户现场测试时,发现EasyNTS获取设备列表界面的ip栏返回一大串html源码。经排查是客户网络限制,代码未对返回数据校验所致。需确保地址访问无误并对返回数据校验,该网关还形成了上云解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前TSINGSEE青犀视频已经把EasyNTS的功能进行了扩展,扩大了EasyNTS的使用范围,关于新版EasyNTS的使用方法,我们在之前的博文中也有介绍,大家可以了解一下:EasyNTS上云网关配置手册介绍EasyNTS上云网关推流直播实现流程

QQ图片20201109155932.png

我们研发在客户现场对EasyNTS平台的测试当中发现,EasyNTS获取设备列表界面下,其中ip地址的那一栏,出现一大串的html的源码,本来应该是获取设备所在环境的外网ip,但是却是获得一大串的文本信息。

16.png

经过排查我们了解到,这是由于客户环境导致的问题,该客户网络是有限制的,有些地址无法被访问到,导致在获取外网ip的时候没有数据可获取,最后返回一大串html的文本数据,是由于代码中没有对返回的数据进行校验。

因此我们不仅要确保地址访问无误,而且要在获取外网ip的时候,对返回的数据进行校验,如果和外网ip数据不匹配,就返回空的字符串。

131.png

参考代码如下:

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、端口不开放、系统权限不开放等问题。如果大家还想了解更多内容或者视频相关解决方案,欢迎联系我们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值