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

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

  •  
  •   zhwguest · 50 天前 · 901 次点击
    这是一个创建于 50 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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