ネットワーク浸透/ネットワークマッピング/リモート操作とメンテナンスEasyNTSインテリジェントクラウドネットワーキングは、23ポートの浸透を通じてリモートコントロール機能をどのように実現しますか?

EasyNTSは、Tsingseeビデオチームによって開発されたビデオクラウドゲートウェイデバイスです。EasyNTSクラウドターミナルは、機器サイトに配置されます。EasyNTSクラウドゲートウェイは、Alibaba Cloud / Tencent Cloud /自作クラウドで実行されます。すべてのオンサイトデバイスのネットワーク状態をいつでもどこでも制御できます。リモートでのデバッグとトラブルシューティングにより、オンサイトの運用とメンテナンスのコストを大幅に削減します。

NTS.png

EasyNTSの開発にリモコン機能を追加しましたので、この記事ではその機能を簡単に紹介します。

EasyNTSクラウドゲートウェイでは、コンソールをクリックすることは、制御のためにデバイスにリモートでログインするためのtelnetコマンドに相当します。しかし、リモートログインの前にデバイスのポート23が貫通されていない場合、コンソールをクリックすると、ポートが構成されていないというエラーが報告されます。

1393.png

ポート23が貫通しているかどうかを確認する方法は?一連のコードを設計しました。デバイス側のポート23を貫通した後、コードから貫通ポートがあるかどうかを確認します。存在する場合は、リモート制御のためにデバイス側との長いTCP接続を形成し始めます。

コンパイルされたコードは次のとおりです。

tpc.DeviceId = form.ID
tpc.LocalIp = "127.0.0.1"
tpc.LocalPort = "23"
tpc.Type = "Tcp"
dao.DB().Where(tpc).First(&tpc)
if tpc.RemotePort == consts.EmptyString {
   AbortWithString(c, http.StatusBadRequest, consts.MsgErrorNeedTunnelPort)
   return
}
var ntst do.TNtsT
ntst.ID = tpc.NtsTId
dao.DB().Where(ntst).First(&ntst)
if ntst.Addr == consts.EmptyString {
   AbortWithString(c, http.StatusBadRequest, consts.MsgNoNTST)
   return
}
conn, err := gote.Dial("tcp", fmt.Sprintf("%s:%s", ntst.Addr, tpc.RemotePort))
if err != nil {
   errUnmarshal = do.JsonResponse{HasError: true, Message: do.SIGN_IN_FORM_TYPE_ERROR_VALID}
} else {
   conn.Close()
   errUnmarshal = do.JsonResponse{HasError: false, Addition: "telnet", UserName: device.RemoteUser, Port: estring.ParseInt(tpc.RemotePort)}
}

以下は、23ポートを正常に貫通するデバイス側のインターフェースです。

1394.png

EasyNTS Cloud Gatewayの詳細

EasyNTSクラウドゲートウェイの役割は、デバイスの内部ネットワークIP:ポートをEasyNTSクラウドゲートウェイサーバーに接続して、パブリックネットワーク上に固定IPアドレスがなく、インターネットパブリックネットワークIP:ポートを形成することです。これにより、デバイス機能の開始と呼び出しが容易になります。 。

NTS2.png

現在、EasyNTSクラウドゲートウェイを使用して、遠隔操作、保守、店舗管理を行っている事例が既にいくつかあります。ご興味がおありでしたら、詳細についてお問い合わせください。ビデオ関連のソリューションについては、TSINGSEE Qingxiビデオにアクセスしてください。ニーズや質問がある場合は、ようこそいつでもお問い合わせください!

おすすめ

転載: blog.csdn.net/EasyNTS/article/details/108347340
おすすめ