TCPとUDPの両方を利用するサーバーとクライアントを作成しようとしています。サーバーはLAN設定で非常にうまく機能しますが、WAN経由で送信されたときにUDPメッセージが受信されていません。これは、データの送信に使用されたUDPソケットが、情報を返すのに十分な長さのNATテーブルに残っていないためだと思います。UDPポートをルーターで開いたままにする(ポート転送なしで)方法、またはすでに接続されているTCP接続と同じポートをUDPに使用する方法はありますか?前もって感謝します。
2037 次
1 に答える
3
トラフィックがない場合は、ファイアウォールによってブロックされている可能性があります。この場合、転送ではなく、ポートを開くことです。
ほとんどの(すべてではないにしても)NAT /ファイアウォールデバイスは、NATに穴が開けられると、両方向のUDPトラフィックを許可します。つまり、NAT /ファイアウォールの背後にある私のラップトップがUDPパケットをインターネットに送信する場合、NAT/ファイアウォールはUDPトラフィックを元のポート番号に返すことができます。私はUDPをよく使用していますが、これがルールであり、例外はほとんどありません。
UDPパケットの配信は保証されていませんが、注意してください。
クライアントはNATの背後にありますか?クライアントが送信するパケットはサーバーに届きますか?サーバーからクライアントへの方向性に問題がありますか?
UDPとTCPに同じポート番号を使用する場合、状況は変わりません。TCP接続は別のプロトコルであるため、便乗することはできません。
于 2011-08-11T05:49:42.647 に答える