Rust 如何处理mio中的错误?

Rust 如何处理mio中的错误?,rust,mio,Rust,Mio,我正在mio之上构建一个多线程异步HTTP服务器 我应该如何处理客户端TcpStream连接上的事件 因为是可读的它非常简单:我读取请求并编写响应 至于其他种类,我不确定。我应该shutdown()?那么是否为_none()呢 您提到的所有内容都有非常精确的含义,并直接映射到POSIX/BSD套接字API。由你来决定 is_hupon Read表示另一方挂起了它的发送端。意味着它不会再给你寄任何东西了。但是,它可能会保持读取打开,并且您可能仍然希望向它发送一些数据 shutdown关闭读/写/

我正在mio之上构建一个多线程异步HTTP服务器

我应该如何处理客户端
TcpStream
连接上的事件

  • 因为
    是可读的
    它非常简单:我读取请求并编写响应
  • 至于其他种类,我不确定。我应该
    shutdown()?那么
    是否为_none()

您提到的所有内容都有非常精确的含义,并直接映射到POSIX/BSD套接字API。由你来决定

is_hup
on Read表示另一方挂起了它的发送端。意味着它不会再给你寄任何东西了。但是,它可能会保持读取打开,并且您可能仍然希望向它发送一些数据

shutdown
关闭读/写/读/写操作,所以您想做什么和什么时候做取决于您


TcpStream
内部保存
FileDesc
,当您将
fd
放下时,它将
关闭,因此如果您不
手动关闭
,只要您从使用中删除给定的
TcpStream
,所有内容都将立即关闭

你看到了吗?它包含有关mio中错误处理的有用信息。谢谢,这篇文章很有趣。不幸的是,他很少谈论错误处理:)