我正在mio之上构建一个多线程异步HTTP服务器。
我应该如何处理客户端City hasHarbor(another object property) some Harbor
连接上的事件?
TcpStream
来说,它非常简单:我阅读了请求并写了回复。 is_readable
或shutdown()
,我应该is_error
我的流吗?那么is_hup
呢?答案 0 :(得分:1)
您提到的所有内容都具有非常精确的含义,并直接映射到POSIX / BSD Socket API。由你来决定。
is_hup
对读取意味着对方绞死了它的发送方。这意味着它不会再发送任何东西。但是它可能会使读数保持打开状态,您可能仍希望向其发送一些数据。
shutdown
关闭阅读/写作/两者https://doc.rust-lang.org/std/net/enum.Shutdown.html,所以这取决于你想要做什么和什么时候。
TcpStream
在内部持有FileDesc
,当您放弃时close
fd
,所以如果您不{} 1}手动关闭所有内容无论如何,只要你从使用中删除了shutdown
。 https://github.com/rust-lang/rust/blob/master/src/libstd/sys/unix/fd.rs#L217