CAsyncSocket::ShutDown

调用该成员函数禁用发送,接收或两个在套接字。

BOOL ShutDown(
   int nHow = sends 
);

参数

  • nHow
    描述的标志哪种类型的操作将不再允许,请使用以下枚举值:

    • 接收= 0

    • 发送= 1

    • 两个= 2

返回值

非零,如果函数运行成功;否则0和特定错误代码可以通过调用 GetLastError检索。 下面的错误适用于此成员函数:

  • WSANOTINITIALISED 的成功的 AfxSocketInit 必须在使用此API之前发生。

  • WSAENETDOWN Windows套接字实现检测网络子系统失败。

  • WSAEINVAL   nHow 无效。

  • 块Windows套接字操作的WSAEINPROGRESS 的进度中。

  • WSAENOTCONN 套接字未连接(仅SOCK_STREAM )。

  • WSAENOTSOCK 描述符不是套接字。

备注

ShutDown 在套接字的所有类型来禁用接收传输,或者这两者。 如果 nHow 为0,随后在套接字接收禁止。 这对较低的协议层的效果。

对于传输控制协议(TCP),不更改TCP窗口,并输入数据将接受(使用,但不识别),直到窗口不足。 对于用户数据协议(UDP),传入的数据进行接受并进行排队。 ICMP错误数据包决不会生成。 如果 nHow 为1,随后发送禁止。 对于TCP套接字,将发送飞翅。 设置为2禁用的 nHow 上述发送和接收。

请注意 ShutDown 不关闭套接字,并且,资源附加到套接字不会释放,直到 Close 调用。 从而在关闭后,应用程序不应依赖于可以重用套接字。 特别是,不需要Windows套接字实现支持使用在此类套接字的 Connect

示例

CAsyncSocket::OnReceive参见示例。

要求

Header: afxsock.h

请参见

参考

CAsyncSocket选件类

层次结构图

CAsyncSocket::Connect

CAsyncSocket::Create