Revert "fix issue #3613 using `shutdown()` option `SHUT_RDWR`"

This reverts commit 2a70ccbbeb80475272d56d415edc9167cab42f4e.
Re-fix issue #3613 using `setKeepAlive` instead of `shutdown(..., SHUT_RDWR)`

Use `shutdown(..., SHUT_RDWR)` may break exist code... and is a
solution to solve wrong problem. The real problem is bad network link
and keepalive/timeout may be more suitable.