client: add network abort

TCP_KEEPALIVE doesn't seem to work.
Use explicit timeout instead when the network
just drops any packet.