Socket.Bind 方法
使 Socket 与一个本地终结点相关联。
**命名空间:**System.Net.Sockets
**程序集:**System(在 system.dll 中)
语法
声明
Public Sub Bind ( _
localEP As EndPoint _
)
用法
Dim instance As Socket
Dim localEP As EndPoint
instance.Bind(localEP)
public void Bind (
EndPoint localEP
)
public:
void Bind (
EndPoint^ localEP
)
public void Bind (
EndPoint localEP
)
public function Bind (
localEP : EndPoint
)
参数
异常
异常类型 | 条件 |
---|---|
localEP 为 空引用(在 Visual Basic 中为 Nothing)。 |
|
试图访问套接字时发生错误。有关更多信息,请参见备注部分。 |
|
Socket 已关闭。 |
|
调用堆栈上部的调用方无权执行所请求的操作。 |
备注
如果需要使用特定的本地终结点,请使用 Bind 方法。必须先调用 Bind,然后才能调用 Listen 方法。除非需要使用特定的本地终结点,否则不必在使用 Connect 方法之前调用 Bind。对无连接和面向连接的协议都可以使用 Bind 方法。
在调用 Bind 之前,必须首先创建打算从其进行数据通信的本地 IPEndPoint。如果您不介意分配哪个本地地址,则可以用 IPAddress.Any 作为地址参数创建一个 IPEndPoint,这样,基础服务提供程序将会分配最适合的网络地址。如果您有多个网络接口,这将有助于简化您的应用程序。如果您不介意使用哪个本地端口,则可以创建一个使用 0 作为端口号的 IPEndPoint。在这种情况下,服务提供程序将会分配一个可用的端口号(介于 1024 和 5000 之间)。
如果使用上面的方法,您可以通过调用 LocalEndPoint 获知所分配的本地网络地址和端口号。如果当前使用的是面向连接的协议,则直到您调用了 Connect 或 EndConnect 方法后,LocalEndPoint 才会返回本地分配的网络地址。如果当前使用的是无连接协议,则直到完成一个发送或接收操作后,才可访问该信息。
提示
如果打算接收多路广播的数据报,则必须使用多路广播端口号调用 Bind 方法。
提示
如果打算通过使用 ReceiveFrom 方法来接收无连接的数据报,则必须调用 Bind 方法。
提示
如果在调用 Bind 方法时接收到 SocketException,则可以使用 SocketException.ErrorCode 属性获取特定的错误代码。获取此代码后,您可以参考 MSDN Library 中的 Windows Sockets 第 2 版 API 错误代码文档,获取有关该错误的详细说明。
提示
当在应用程序中启用网络跟踪功能后,此成员将输出跟踪信息。有关更多信息,请参见 网络跟踪。
示例
下面的代码示例使用指定的本地终结点绑定 Socket。
Try
aSocket.Bind(anEndPoint)
Catch e As Exception
Console.WriteLine("Winsock error: " & e.ToString())
End Try
try {
aSocket.Bind(anEndPoint);
}
catch (Exception e) {
Console.WriteLine("Winsock error: " + e.ToString());
}
try
{
aSocket->Bind( anEndPoint );
}
catch ( Exception^ e )
{
Console::WriteLine( "Winsock error: {0}", e );
}
try {
aSocket.Bind(anEndPoint);
}
catch (System.Exception e) {
Console.WriteLine(("Winsock error: " + e.ToString()));
}
.NET Framework 安全性
- SocketPermission 用于接受来自 localEP 定义的主机的连接。关联的枚举:NetworkAccess.Accept
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0
请参见
参考
Socket 类
Socket 成员
System.Net.Sockets 命名空间
IPEndPoint 类
Connect
Listen
IPAddress 类
LocalEndPoint