クライアントのリモート ポート番号で応答するために、Google AppEngine にデプロイされたサーブレットを使用しています。HttpServletRequest.getRemoteAddr() は正常に動作しますが、getRemotePort() は 0 を返しますか?
ポート 0 は無効です。通常のポート番号 (55046 など) を教えてくれた他の IP サービスを試しましたが、ブラウザまたは Java コードからアクセスするたびにサーブレットが 0 を返します。
私の最終的な目標は、ルックアップ時に接続開始者に受信者のアドレスと外部ポートの場所を伝えて、TCP ホール パンチ技術が適切に機能するようにすることです。
これの理由は何ですか?実際のポート番号を取得するにはどうすればよいですか (可能な場合)? NAT ルーターはプロキシ ポートを使用しませんか?