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