V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhwguest
V2EX  ›  Rust

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

  •  
  •   zhwguest · 26 天前 · 673 次点击

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

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

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

    4 条回复    2025-04-30 01:33:53 +08:00
    hingle
        1
    hingle  
       25 天前
    https://man7.org/linux/man-pages/man2/shutdown.2.html

    shutdown 本来就不是针对 UDP 这种无连接的。
    zhwguest
        2
    zhwguest  
    OP
       25 天前
    @hingle 感谢,那关于 close 呢?
    sunnysab
        3
    sunnysab  
       16 天前
    close 应该是释放该套接字相关资源。
    caobug
        4
    caobug  
       13 天前
    「正阻塞在该对象上进行读取」:即使给你 shutdown ,你都阻塞了还怎么调用?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5540 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 03:15 · PVG 11:15 · LAX 20:15 · JFK 23:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.