std::net::UdpSocket 的 shutdown 机制是我理解出了问题么?

138 天前
 zhwguest

std::net::UdpSocket 不提供 shutdown()接口,只能通过 drop 了所有的对象后自动关闭。

但是我正阻塞在该对象上进行读取,又怎么可能通过 drop 该对象来触发关闭呢?

请别告诉我要非阻塞调用,或者轮询调用,或者其他解决方案,我只是觉得接口这么设计我有点无法理解。

1449 次点击
所在节点    Rust
4 条回复
hingle
138 天前
https://man7.org/linux/man-pages/man2/shutdown.2.html

shutdown 本来就不是针对 UDP 这种无连接的。
zhwguest
138 天前
@hingle 感谢,那关于 close 呢?
sunnysab
129 天前
close 应该是释放该套接字相关资源。
caobug
126 天前
「正阻塞在该对象上进行读取」:即使给你 shutdown ,你都阻塞了还怎么调用?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1126084

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX