此页面有用吗?
您对此内容的反馈非常重要。 请告诉我们您的想法。
更多反馈?
1500 个剩余字符
导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Socket.Bind 方法

2013/12/13

使套接字与一个特定本地终结点相关联。除非需要使用特定的本地终结点,否则不必在使用 ConnectAsync 方法之前调用“绑定”。

Namespace:  System.Net.Sockets
程序集:  System.Net(位于 System.Net.dll 中)

public void Bind(
	EndPoint localEP
)

参数

localEP
类型: System.Net.EndPoint
要与 Socket 关联的本地 EndPoint

异常条件
ArgumentException

localEP 为 null。

SocketException

尝试访问套接字时发生错误。如果收到 SocketException,请使用 SocketException.ErrorCode 属性获取特定的错误代码。

ObjectDisposedException

Socket 已关闭。

SecurityException

调用堆栈上部的调用方无权执行所请求的操作。

如果需要使用特定的本地终结点,请使用 Bind 方法。必须先调用 Bind,然后才能调用 Listen 方法。除非需要使用特定的本地终结点,否则不必在使用 ConnectAsync 方法之前调用“绑定”。对无连接和面向连接的协议都可以使用 Bind 方法。

如果使用上面的方法,您可以通过调用 LocalEndPoint 获知所分配的本地网络地址和端口号。如果当前使用的是面向连接的协议,则直到您调用了 ConnectAsync 方法后,LocalEndPoint 才会返回本地分配的网络地址。如果当前使用的是无连接协议,则直到完成一个发送或接收操作后,才可访问该信息。

在调用 Bind 之前,必须首先创建打算从其进行数据通信的本地 IPEndPoint。如果您不介意分配哪个本地地址,则可以用 Any 作为地址参数创建一个 IPEndPoint,这样,基础服务提供程序将会分配最适合的网络地址。如果您有多个网络接口,这将有助于简化您的应用程序。如果您不介意使用哪个本地端口,则可以创建一个使用 0 作为端口号的 IPEndPoint。在这种情况下,服务提供程序将会分配一个可用的端口号(介于 1024 和 5000 之间)。

如果打算接收多路广播的数据报,则必须使用多路广播端口号调用 Bind 方法。

Windows Phone OS

受以下版本支持: 8.0

显示:
© 2015 Microsoft