“shutdown”函数对UDP套接字有什么影响?
int shutdown(int socket, int how);
在UDP套接字上调用shutdown()
不会对通信产生影响,只会影响套接字对象的状态。
查看内核:
__sys_shutdown()
在套接字对象上调用sock->ops->shutdown()
。ops
是一个struct proto_ops
。AF_INET
),inet_stream_ops.shutdown
被设置为inet_shutdown
。inet_shutdown
非常TCP导向,有点混乱。然而,它检查sk->sk_prot->shutdown
并在非空时调用它。
sk_prot
指向一个struct proto
:
struct proto tcp_prot
定义了一个.shutdown
操作(tcp_shutdown
)struct proto udp_prot
未定义.shutdown
shutdown()
在close()
之前只有必要。 - user207421shutdown()
并不能以任何方式启用它。 - user207421