TcpListener.AllowNatTraversal(Boolean) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Enables or disables Network Address Translation (NAT) traversal on a TcpListener instance.
public:
void AllowNatTraversal(bool allowed);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public void AllowNatTraversal (bool allowed);
public void AllowNatTraversal (bool allowed);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.AllowNatTraversal : bool -> unit
member this.AllowNatTraversal : bool -> unit
Public Sub AllowNatTraversal (allowed As Boolean)
Parameters
- allowed
- Boolean
A Boolean value that specifies whether to enable or disable NAT traversal.
- Attributes
Exceptions
The AllowNatTraversal(Boolean) method was called after calling the Start() method
Remarks
The AllowNatTraversal method is used to enable or disable NAT traversal for a TcpListener instance. NAT traversal may be provided using Teredo, 6to4, or an ISATAP tunnel.
When the allowed
parameter is false, the IPProtectionLevel option on the associated socket is set to EdgeRestricted. This explicitly disables NAT traversal for a TcpListener instance.
When the allowed
parameter is true, the IPProtectionLevel option on the associated socket is set to Unrestricted. This may allow NAT traversal for a TcpListener depending on firewall rules in place on the system.
The AllowNatTraversal method must be invoked prior to calling the Start method to begin listening for incoming connection requests (before the socket is bound). If AllowNatTraversal method is called after the Start method, then an InvalidOperationException will be thrown.
A Teredo address is an IPv6 address with the prefix of 2001::/32. Teredo addresses can be returned through normal DNS name resolution or enumerated as an IPv6 address assigned to a local interface.