TcpListener.AllowNatTraversal(Boolean) 方法

定义

启用或禁用针对 TcpListener 实例的网络地址转换 (NAT) 遍历。

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)

参数

allowed
Boolean

一个布尔值,该值指定是启用还是禁用 NAT 遍历。

属性

例外

在调用 AllowNatTraversal(Boolean) 方法之后调用 Start() 方法

注解

方法 AllowNatTraversal 用于为 TcpListener 实例启用或禁用 NAT 遍历。 可以使用 Teredo、6to4 或 ISATAP 隧道提供 NAT 遍历。

allowed如果 参数为 false,则IPProtectionLevel关联套接字上的 选项设置为 EdgeRestricted。 这会显式禁用实例的 TcpListener NAT 遍历。

allowed如果 参数为 true,则IPProtectionLevel关联套接字上的 选项设置为 Unrestricted。 这可能允许 NAT 遍历 , TcpListener 具体取决于系统上的防火墙规则。

AllowNatTraversal必须在调用 Start 方法之前调用 方法,以开始侦听传入的连接请求 (,然后套接字被绑定) 。 如果在 AllowNatTraversal 方法之后 Start 调用 方法,则将 InvalidOperationException 引发 。

Teredo 地址是前缀为 2001::/32 的 IPv6 地址。 Teredo 地址可以通过正常的 DNS 名称解析返回,也可以枚举为分配给本地接口的 IPv6 地址。

适用于

另请参阅