Closed guang19 closed 2 years ago
服务端read为0时调用handleClose,最终会把自己从map中移除,如果TcpConnection的引用计数为0那么会调用析构最终close fd。我的问题是如果客户端只调用了shutdown write,但对服务端来说通道仍然是可写的吧,为啥服务端不先shutdown read而是close呢?我的猜想是如果服务端仍有数据,那么由用户在socket关闭之前的connection的回调里去发送,发送完用户可以shutdown也可以不shutdown,反正最终socket都会被关闭,不知道我的想法对不对?
服务端read为0时调用handleClose,最终会把自己从map中移除,如果TcpConnection的引用计数为0那么会调用析构最终close fd。我的问题是如果客户端只调用了shutdown write,但对服务端来说通道仍然是可写的吧,为啥服务端不先shutdown read而是close呢?我的猜想是如果服务端仍有数据,那么由用户在socket关闭之前的connection的回调里去发送,发送完用户可以shutdown也可以不shutdown,反正最终socket都会被关闭,不知道我的想法对不对?