Socket.Shutdown(SocketShutdown) 方法 (System.Net.Sockets)

Socket.Shutdown(SocketShutdown) 方法 (System.Net.Sockets)

禁用某 Socket 上的发送和接收。

public:

void Shutdown(System::Net::Sockets::SocketShutdown how);

public void Shutdown(System.Net.Sockets.SocketShutdown how);

member this.Shutdown : System.Net.Sockets.SocketShutdown -> unit

Public Sub Shutdown (how As SocketShutdown)

参数

how

SocketShutdown

SocketShutdown 值之一,它指定不再允许执行的操作。

例外

SocketException

尝试访问套接字时出错。

ObjectDisposedException

Socket 已关闭。

示例

下面的代码示例使用 Shutdown 禁用 Socket。

try

{

aSocket.Shutdown(SocketShutdown.Both);

}

finally

{

aSocket.Close();

}

Try

aSocket.Shutdown(SocketShutdown.Both)

Finally

aSocket.Close()

End Try

End Sub

注解

使用面向Socket连接的 时,始终在关闭 Socket之前调用 Shutdown 方法。 这可确保在已连接的套接字上发送和接收所有数据,然后再将其关闭。

Close调用 方法以释放与 Socket关联的所有托管和非托管资源。 不要在关闭后尝试重用 Socket 。

下表显示了 SocketShutdown 对 how 参数有效的枚举值。

“值”

描述

发送

在此 Socket上禁用发送。

接收

在此 Socket上禁用接收。

两者

在此 Socket上禁用发送和接收。

将 设置为 howSend 指定不允许对 的后续调用 Send 。 如果使用无 Socket连接 ,则 Send 指定将不起作用。

将 设置为 howReceive 指定不允许对 的后续调用 Receive 。 这对较低的协议层没有影响。 如果使用面向连接的协议,则在调用 Shutdown 后存在以下任一条件时,连接将终止:

数据位于等待接收的传入网络缓冲区中。

更多数据已到达。

如果使用无连接协议,则接受数据报并排队。 但是,如果没有缓冲区空间可用于其他传入数据报,它们将被丢弃,并且不会向发送方返回错误。

Shutdown不建议在无Socket连接上使用。

将 设置为 howBoth 将禁用如上所述的发送和接收。

注意

如果在调用 Shutdown 方法时收到 SocketException ,请使用 SocketException.ErrorCode 属性获取特定的错误代码。 获取此代码后,请参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。

备注

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅 .NET Framework 中的网络跟踪。

适用于

另请参阅

Close()

SocketShutdown

相关推荐

编辑 PDF:可以在线编辑 PDF 的免费 PDF 编辑器
Bet体育365提款流程

编辑 PDF:可以在线编辑 PDF 的免费 PDF 编辑器

⌛ 06-30 👁️ 7796
原神浓缩树脂合成配方获取 原神浓缩树脂图纸获取途径解析
谁有365体育投注网址

原神浓缩树脂合成配方获取 原神浓缩树脂图纸获取途径解析

⌛ 07-07 👁️ 4376
目前手机最高帧率是多少
谁有365体育投注网址

目前手机最高帧率是多少

⌛ 07-03 👁️ 3882