1

私が理解しているように、NAT の背後にあるデバイスに残りの Web サービスを実装することは単純に可能ではありません。だから私はこれに対するいくつかの解決策を探していました。

long pollingWebサービスを実装するために使用することは可能ですか? このように、ローカルデバイスはリモートクライアントを呼び出します(これはまさに私が望むものです)。クライアントは、クライアントがWebサービスメソッドを呼び出すまで、接続を開いたままにしておく必要があります(キープアライブ?)。接続がまだ開いているため、そうすることができます。呼び出しの後、クライアントはすぐに別のポーリングをクライアントに送信します...など..この方法で実装することは可能ですか?

私が遭遇した別のソリューション:

ReverseHTTP - これについてはよくわかりませんが、これで Web サービスを実装できるようです。右?

TURN や STUN など、他にもいくつかの解決策がありますが、それらは非常に複雑なようです。

何か提案はありますか?ネットワーク デバイスで c++/linux を使用しています。

編集: ポート転送はオプションではありません。

4

2 に答える 2

0

使用している転送プロトコルはわかりませんが、HTTP を想定しています。

HTTP は TCP/IP を使用するため、デバイスの NAT は接続要求をサーバーにリダイレクトする必要があります。

複数のインターネットIPアドレスを持っている場合など、他の方法もあるので、リクエストをサーバーに送信することもできますが、それはポート転送よりも複雑なので、あなたが持っているものではないと思います.

したがって、基本的にはポート転送を構成する必要があります。それを PABX のように考えてみましょう。外線からの通話は、電話に到達するためにラマルを知る必要があります。

そして、言ったように、あなたが言った提案はそれを意図したものではなく、主にクライアント接続のためのものです.NATはそれを行うために準備されているので、多くのNATには必要ありません.

于 2013-08-14T16:48:28.880 に答える