使用shutdown()关闭UDP套接字

3

“shutdown”函数对UDP套接字有什么影响?

int shutdown(int socket, int how);

1
你有没有测试过以便自己看看? - Shawn
关闭函数将禁用任何类型的套接字上的接收或发送或两者。在此期间接收或发送的任何数据将被排队(UDP)或连接将被重置(TCP)。 - Brandon
这是在UDP套接字上合法的,但实际上除了可能抑制接收(如果您关闭输入),它什么也不做。在您的原始代码中并非必需:事实上,在存在继承套接字的任何情况下,shutdown()close() 之前只有必要。 - user207421
@Brandon,我无法理解你的评论。撇开TCP不谈,通过UDP发送的所有数据都会被排队。shutdown()并不能以任何方式启用它。 - user207421
@Brandon 输入始终排队等待执行。关键是在Windows系统中,输入的关闭并不会停止它们的排队,因为这个情况下应该被避免。 - user207421
1个回答

9

在UDP套接字上调用shutdown()不会对通信产生影响,只会影响套接字对象的状态。

查看内核:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接